Lumina – a statically typed web-native language for JavaScript and WASM
Built-in reactive runtime and dual JS/WASM targets challenge React and TypeScript dominance.
C – but better
Modern language that generates clean C11—not a wrapper, actual compiler pipeline with formal grammar and LSP.
Systems programmers, embedded developers, C enthusiasts wanting modern syntax without leaving the C ecosystem
Zig · Vale · Nim
The compiler is a 6-stage Python pipeline (lexer → parser → analyzer → IR gen → optimizer → C emitter) driven by a formal EBNF grammar and an algebraic AST spec (Zephyr ASDL). The generated C is readable and linkable with any C11 compiler. It ships with a VS Code extension (LSP with completions, diagnostics, go-to-def, hover) and 930 tests.
I've wanted to build something like this for about 10 years, but it was always too ambitious to do on the side. With AI, I was able to build it over a handful of evenings after work. Some things worth noting:
A few things that I find fun / interesting / noteworthy:
- The EBNF grammar and ASDL spec are the single source of truth — the lexer, parser, and AST node classes are all derived from them, not hardcoded
- Generics are monomorphized (like C++ templates / Rust), so zero runtime overhead but binary size grows per type combination
- ARC handles most memory management including cycle detection and cleanup on exceptions — no GC, deterministic destruction
- The entire stdlib (collections, math, datetime, IO, threading) is written in btrc itself
- @gpu functions transpile to WGSL compute shaders with auto-generated WebGPU boilerplate — array params become storage buffers, scalars become uniforms
- The generated C is meant to be readable — you can step through it in gdb/lldb and it mostly makes sense (just verbose with lots of underscores)
- There's a 3D game engine example (ball + WASD + jump + shadows + raymarching) that's ~570 lines of btrc across 11 small modules
- The VS Code extension reuses the compiler's own lexer, parser, and analyzer — diagnostics match exactly what the compiler reports
- btrc inherits C's memory model wholesale — no borrow checker, no lifetime analysis. You can absolutely still shoot yourself in the foot
- The whole thing was built in a few evenings after work with heavy AI assistance, which felt like the most interesting part of the project honestly
Built-in reactive runtime and dual JS/WASM targets challenge React and TypeScript dominance.
Endianness in the type system is clever, but another language in a saturated field.
Ten keywords plus fat pointers transpile cleanly to C11 without GC.
Scripting language with native Go interop, compiles to standalone binaries.
Korean keywords for programming when English dominates every other language.
Design-by-contract baked into grammar for a no-GC systems language.