woua
A Lisp-syntax language that compiles to WebAssembly
(include io)
(defn main ()
(printf "Woua!\n"))
Woua — woof in French
Lisp syntax
Write programs in a clean, parenthesised syntax. Define functions, macros, and types with consistent, composable forms.
Compiles to WebAssembly
Every woua program compiles directly to a .wat text module, then to a
binary .wasm file runnable with any WASI-compatible runtime.
Powerful macros
Variadic compile-time macros with macro-if, macro-seq,
and string intrinsics. printf is implemented entirely as a woua macro.
Zero runtime
No garbage collector, no hidden allocations beyond what your code requests. A minimal bump allocator is generated automatically.
Transparent output
woua compiles to human-readable .wat first, then to binary.
Inspect the generated WebAssembly text at any time — no black-box codegen.
Dead code elimination
The compiler traces the call graph from main and only emits
reachable functions. Unused library code is silently dropped — lean binaries
with no extra tooling required.