gitwtfhub

wtf is goeteia?

guenchi/goeteia — explained in plain English

Analysis updated 2026-05-18

58SchemeAudience · developerComplexity · 5/5Setup · hard

TL;DR

A Scheme-to-WebAssembly compiler and web toolkit for building browser apps, UIs, and games entirely in Scheme.

Mindmap

mindmap
  root((Goeteia))
    What it does
      Compiles Scheme to WASM
      Self hosting compiler
      Uses WASM GC
    Tech stack
      Scheme
      WebAssembly
      WebGL and WebGPU
    Use cases
      Build reactive web UIs
      Render templates to HTML
      Build browser 3D games
    Audience
      Scheme programmers
      Graphics programmers
    Features
      Hygienic macros
      Tail calls
      No virtual DOM

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Write a full web application, including its user interface, entirely in Scheme instead of JavaScript.

REASON 2

Build a reactive UI that updates automatically when data changes, without a virtual DOM.

REASON 3

Render the same page template live in the browser or as static HTML on a server.

REASON 4

Build browser based 3D graphics or games using WebGL or WebGPU with shaders written in Scheme.

What's in the stack?

SchemeWebAssemblyJavaScriptWebGLWebGPU

How it stacks up

guenchi/goeteiara77a3l3-jar/forest.hxcristiancmoises/securityops-os
Stars58673
LanguageSchemeSchemeScheme
Setup difficultyhardmoderatemoderate
Complexity5/53/54/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Requires an engine with WebAssembly GC and tail calls support, such as Node 22+ or a current browser.

Wtf does this do

Goeteia is a compiler and toolkit that lets you write full web applications, including graphics and games, entirely in the Scheme programming language, which is normally used for teaching and research rather than building websites. It takes Scheme code and compiles it into WebAssembly, a format that browsers and other engines can run quickly, using a newer WebAssembly feature that adds garbage collected memory management. Notably, the compiler itself is written in the same Scheme language it compiles, and building it from scratch produces an identical result byte for byte. The language implementation includes most of the features a serious Scheme programmer would expect, such as closures, proper tail calls, hygienic macros for extending the language, a numeric system covering whole numbers and decimals, the call with current continuation control flow feature, and common data structures like vectors, strings, symbols, and hash tables. It also strips out unused code so compiled programs stay small, and keeps track of source file and line information so errors and browser stack traces remain readable. Beyond the core language, Goeteia ships an extensive set of web focused libraries. These cover talking to JavaScript and the page's structure, a reactive system for building user interfaces that update automatically when data changes without using a virtual DOM, rendering the same templates either live in a browser or as plain HTML strings on a server, treating CSS stylesheets as ordinary Scheme data, embedding Goeteia components inside existing React applications, laying out text without relying on the browser at all so exact heights are known in advance, a virtual scrolling helper for very long chat style feeds, and networking tools including an efficient binary wire format, remote procedure calls, JSON, WebSockets, and server sent events. A separate graphics layer, still shown in the README, adds raw WebGL and WebGPU access with shaders written as Scheme expressions, aimed at building 3D games and visualizations. Given how specialized and low level this project is, it would mainly interest experienced Scheme or compiler enthusiasts and graphics programmers who want to build browser based games or applications without leaving the Scheme language.

Yoink these prompts

Prompt 1
Explain how Goeteia compiles Scheme code into WebAssembly using the WASM GC extension.
Prompt 2
Show me how to build a simple reactive counter page using the (web sx) macro in Goeteia.
Prompt 3
Help me understand how Goeteia's text layout system works without relying on the browser DOM.
Prompt 4
Walk me through embedding a Goeteia component inside an existing React application.

Frequently asked questions

wtf is goeteia?

A Scheme-to-WebAssembly compiler and web toolkit for building browser apps, UIs, and games entirely in Scheme.

What language is goeteia written in?

Mainly Scheme. The stack also includes Scheme, WebAssembly, JavaScript.

How hard is goeteia to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is goeteia for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.