Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration!

  • It’s been just over three months since we announced the Guile on WebAssembly project (codenamed Hoot). Since then we’ve brought on two fantastic hackers to develop the project and progress has been quick.

  • We now are at the point where we have things to show: we can now compile various Scheme procedures directly to WebAssembly. Let’s clarify that: by compiling directly to WebAssembly, we mean they compile and run without any intermediate virtual machine. No C, no Rust, no Zig: Hoot outputs pure WebAssembly. It’s early, but Hoot compiled programs are starting to work… and they’re fast!

  • Hoot by familiar Scheme examples

  • The Hoot test suite includes some examples of fairly standard scheme procedures, compiled directly to WebAssembly and executed against V8. Let’s take a look at some of those examples to contextualize what Hoot provides. (If you’re not familiar with Scheme, you can focus on the text of this blogpost rather than the code. Or, you can read our Scheme Primer as a way to get started on following along!)

Read the entire post at: