A pure scheme web programming tool
Everything beside this is rendered by Goeteia. The Scheme below is compiled to WebAssembly in your browser and mounted live.
No server compiles this — the page carries the whole compiler ( goeteia.wasm , ~70 KB gzipped, cached after first load), and each Run recompiles the source above in ~15 ms.
The compiler is written in the Scheme subset it compiles. The self-hosted build recompiles itself and the output is byte-identical — the fixpoint is checked in CI fashion on every change, and every test runs through both stages.
Fixnums are unboxed i31ref s, pairs and records are GC structs, eq? is one ref.eq . No shadow heap in JavaScript: the host supplies two byte-stream imports and nothing else.
syntax-rules and procedural syntax-case with fenders, nested ellipses and datum->syntax , running in a compile-time interpreter with hygiene by renaming.
Typed function references with a fast per-arity entry and a generic entry per closure — variadic procedures and apply are cheap, and every tail call is a return_call . A 100M-iteration loop runs in constant stack, in ~150ms.