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.