AHA! Lang.
Easy to read. Powerful to wield.

GitHub
aha
// AHA! is expression-oriented — the last expression is the result let x = 10; let y = 20; if x > y { x } else { y }

Program executed successfully. Result: 20

AHA! Langis a modern programming language with an LLVM backend. A full compiler pipeline in Rust — lexer, Pratt parser, type system, LLVM IR codegen, and built-in JIT execution — built on inkwell with LLVM 14.

These docs cover everything: building the compiler from source, a tour of the language, functions & strings, builtins, arrays, the CLI, ready-to-run snippets, and the compiler architecture.

Why AHA!?

LLVM-Powered

Compiles to LLVM IR and runs through a built-in JIT — native-level performance from day one.

Boolean Algebra That Composes

==, !=, &&, || all return Int 0/1 — so logic flows straight into arithmetic: is_even(n) * 100 just works.

Strings Done Right

Strings are a real {pointer, length} struct — safe concatenation, ==/!= comparison, and an O(1) len() builtin.

Expressive Type Discipline

First-class Int, Bool, and String with a compile-time type-checking pass. Type errors are caught at compile time, not at runtime.

Modern Control Flow

if/else, while, and for loops with break/continue. Functions with parameters, return, forward references, and mutual recursion.

Honest Tooling

A clean CLI (--file, --emit-ir, --version), a VS Code syntax-highlighting extension, and a CI pipeline running 305+ tests on every commit.

Ready to dive in? Start here: