What could be useful for you?

Innovation

  • Hybrid approach: functional language with procedural syntax
  • "Functional" allows automatic optimizations, "procedural" aims at ease of use. Even "goto" is available!

Respectful to user

  • No ads, trial period, feature restrictions, watermarks, no propriteray license: GPL 3+ free software.
  • No registration, activation, nag or splash screens, no registration or upgrade reminders, no auto-update.
  • No background daemons or services, no bundled bloatware, toolbars or widgets.
  • No surveillance, tracking, performance reporting, calling home, telemetry, data collection, diagnostic reports, device identifier embedding, open ports, no remote access.

Speed-up techniques

  • Caches compiled programs for fast 2nd startup
  • Partial just-in-time compilation for: Alpha, ARM, ARM64, IA-64, IBM Power, LoongArch64, M68020, MIPS, PA-RISC, PowerPC, RISC-V 64, SPARC, S/390, x86, x86-64
  • Automatic parallelization in certain situations
  • Calculation performed only when needed (lazy evaluation), results reused (memoization)

Other advantages

As opposed to C doesn't use 0 string terminator, therefore binary data can be put into strings.

Are there any actually useful Ajla programs?

Karel Kulhavý used DNG2PDF to quickly shoot a document with a raw DNG smartphone and apply sophisticated sharpening and lighting correction algorithm to produce a PDF. Ajla allows interfacing external programs dcraw and mutool to process DNG and PDF without manual memory management or forks, while compiling the performance critical pixel loops into machine code. See more...

Karel Kulhavý uses sun.ajla to schedule bicycle rides and walks to avoid darkness. It is faster to start than a website in a browser and more precise than an astrolabe application. See more...

Mikuláš Patočka points out that acmd (Ajla Commander) is faster than Midnight Commander when copying large amount of small files, because Ajla allows easy programming in multiple threads: one threads copies the files while another does the user interface. See more...

Will it run on my device?

Hardware requirements

  • 72 MB RAM
  • 220 MB on hard disk

Operating system supported

  • Android under Termux
  • Windows 11, 10, 8.1, 8, 7, Vista, XP, 2000, NT, 95 natively
  • iOS under iSH (slow due to Apple's decision)
  • Linux
  • Windows Subsystem for Linux 1 and 2
  • macOS
  • FreeBSD, NetBSD, OpenBSD
  • Cygwin (a Unix-like environment for Windows)
  • OS/2 2.0 or newer (recommended 4.5 or newer)
  • Hurd, Minix 3, Haiku
  • Solaris, ILLUMOS
  • Should work but wasn't tested: ReactOS, Inferno, AIX, QNX, SCO UNIX, HP-UX. UNIXWare

Try Ajla out

Examine syntax examples

This Ajla website © 2025-2026 by Karel Kulhavý, Mikuláš Patočka is licensed under CC BY-SA 4.0