Goeteia is a self-hosting Scheme-to-WebAssembly compiler with a comprehensive pure-Scheme toolkit for web, graphics, and game development, leveraging WebAssembly GC and tail calls.

Stars

58

7-day growth

No data

Forks

4

Open issues

0

License

MIT

Last updated

2026-07-21

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It is one of the few self-hosted compilers targeting Wasm GC, offering a full R6RS Scheme implementation with hygienic macros, call/cc, and a numeric tower, plus an extensive library suite for DOM, reactive UIs, WebGL/WebGPU rendering, shader composition, physics, and compressed texture decoding — all written in Scheme.

Who it is for

  • Scheme programmers seeking a modern web/GPU target
  • Game developers wanting low-overhead WebGL/WebGPU from Scheme
  • Web developers interested in reactive UI and direct DOM manipulation without JS
  • Compiler engineers studying self-hosting and Wasm backends

Use cases

  • Building reactive single-page applications with fine-grained signals and DOM templates
  • Creating 3D simulations or games with GPU-driven rendering pipelines (particles, shadows, bloom)
  • Developing graphics demos and effects using s-expression shaders and a command-buffer architecture
  • Embedding Scheme-powered components into existing React applications

Strengths

  • Self-hosted and byte-for-byte reproducible build
  • Entirely runs on Wasm GC without host object representation, enabling portability
  • Comprehensive graphics stack with WebGL/WebGPU backends, s-expression shaders (GLSL, WGSL), and post-processing effects
  • Includes pure-Scheme decoders for Basis Universal, UASTC, Zstandard, and mesh compression

Considerations

  • Requires a WebAssembly engine with GC and tail call support (Node 22+, modern Chrome/Firefox/Safari, wasmtime)
  • Relatively small ecosystem and community compared to mainstream web frameworks
  • Learning curve for both Scheme and the extensive custom library API

README quick start

Usage

Description

A self-hosting Scheme to WebAssembly Compiler

Related repositories

Similar projects matched by category, topics, and programming language.

infrost
infrost GitHub avatar

RaptorQR

RaptorQR enables high-throughput offline file and text transfer between devices using animated QR codes, processed entirely locally in the browser or terminal without any server, Bluetooth, or cable.

TypeScript
137
fayazara
fayazara GitHub avatar

pdfstudio

pdfstudio is a client-side PDF toolkit that runs in the browser, Node.js, or Cloudflare Workers, powered by qpdf compiled to WebAssembly, offering a comprehensive set of PDF manipulation operations without any data leaving the device.

TypeScript
91
AngelOnFira
AngelOnFira GitHub avatar

weblings

Weblings is a Rust compiler toolchain compiled to WebAssembly that lets you compile and execute Rust code entirely in your browser, with a web UI featuring a playground and Rustlings exercises.

Rust
84