C11 frontend · typed KIR · WebAssembly
A compiler stackfor languages.
Describe a language on the C11 frontend kernel, lower it through typed KIR, and emit WebAssembly for linear memory or WASM-GC. The compiler itself runs as wasm in the tab; source programs are never handed to a JavaScript interpreter.
Pre-1.0 · MIT licensed
- 01 Frontend kerneldescriptor → AST / types
- 02 KIRtype → verify → structure
- 03 WebAssemblylinear memory · WASM-GC
- 04 Host boundaryfs · gfx · input · frame · clock · sound
The shared substrate
Language-specific at the edge. Shared underneath.
-
01 / Frontend
Frontend work in C11.
Descriptor-driven lexing, Pratt parsing, arena AST/types, sema, and flow narrowing. About 6,467 lines of C11 across 20 files; the kernel has zero external dependencies.
-
02 / KIR
One typed IR.
KIR is typed and verified. Its structured lowering is total: reducible and irreducible control flow both become valid wasm.
-
03 / Runtime
Runtime at the boundary.
Opt-in runtime packs sit beside three freestanding wasm libraries: regex, crypto, and math. Six neutral host boundaries expose capabilities; the host blits output rather than interpreting source.
Stack-level numbers
Small, explicit counts.
- 1 typed IR verified before wasm
- 2 wasm targets linear memory · WASM-GC
- 3 freestanding libraries regex · crypto · math
Running pilot
QBasic is the first language through the full path.
Its compiler runs as wasm in the browser tab. Lua is the second one being brought onto the same machine.