Schism
A self-hosting Scheme to WebAssembly compiler
Schism is an experimental compiler that translates Scheme programs into WebAssembly, allowing Scheme code to execute in both browser environments and server platforms like Node.js. Developed initially by Google researchers, the project was designed to explore the intersection of functional programming and WebAssembly’s low-level efficiency. Schism supports a subset of the R6RS Scheme standard and is self-hosting, meaning that the compiler itself is written in and compiled by Schism. Its architecture demonstrates advanced compiler design techniques such as staged compilation and snapshot-based bootstrapping. The project focuses on leveraging WebAssembly’s experimental capabilities, including reference types and tail calls, to test the limits of language portability and runtime performance. Though no longer actively maintained, Schism remains a valuable example of how high-level languages can be mapped to WebAssembly and offers insights into language implementation.