Hoot: Scheme on WebAssembly

Scheme storms the browser—purists swoon, JS nostalgics cheer, pragmatists ask “Workers?”

TLDR: Hoot runs the Scheme language in web browsers via WebAssembly, shipping a self-contained toolchain on Guile. Commenters are split between nostalgia for a Scheme-ish JavaScript, gripes about the Guile base, and practical questions about Cloudflare Workers—plus wild debates about AI shaping the future of programming.

Hoot just dropped v0.7.0, and the comments lit up like a dev forum on Friday night. It runs Scheme—a minimalist, brainy programming language—right inside your browser via WebAssembly (a way to run fast, non-JavaScript code on the web). Built on Guile, it’s a self-contained toolchain with its own tester. Translation: no extra downloads, just hoot and go.

The crowd’s split. One camp is giddy: “This is what JavaScript was supposed to be,” cried the nostalgia squad, recalling the 90s lore that JS once flirted with Scheme-like ideas before corporate gravity yanked it toward C-style syntax. Another camp threw shade: “Love the project, but Guile? Meh.” Meanwhile, the practical folks barged in: can it run on Cloudflare Workers (those server-side, all-over-the-world web functions)? If Hoot plays nice there, expect hacker fireworks.

Then came the big brain vibes: one commenter predicted a future where AI agents write most code, pushing languages to be more explicit, less playful, and more machine-friendly. Cue memes about “the working-class language” of tomorrow and jokes about JS hearing a loud hoot from across the web. With Wasm’s garbage collection (automatic memory clean-up) now in the mix, people are seeing doors open for weird, wonderful browser apps—and arguments that are just as spicy.

Key Points

  • Hoot enables Scheme to run on WebAssembly GC-capable web browsers.
  • It includes a Scheme-to-Wasm compiler and a full Wasm toolchain.
  • Hoot is built on Guile and has no additional dependencies.
  • The toolchain includes a Wasm interpreter for testing within the Guile REPL.
  • The latest release is v0.7.0, with source, signature, docs, and an announcement; development is on Codeberg.

Hottest takes

“I wish it used something other than Guile” — NeutralForest
“This is what JavaScript was supposed to be” — behnamoh
“Languages becoming more explicit and less fun” — sheepscreek
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.