Stabel is a pure, concatenative and statically typed programming language. It compiles to web assembly, and so can run on the command line, backend and in the browser. For more information, go to

This project is still in early development. A list of planned features can be seen on the roadmap.

To get started writing Stabel code, read our getting started guide.


The compiler is written in Elm. Code is compiled to WebAssembly Text (wat). To convert wat to wasm we make use of the web assembly binary toolkit (wabt), so the project contains some javascript for linking the compiler and wabt together.

To try out the project on your local machine, start by cloning this project using fossil. Install dependencies with 'npm ci'. Tests can be run using 'npm test'.

If you'd like to re-run all Elm tests when code is changed, you can run 'npm run test:elm:watch'.

To only run the wasm tests, you can run 'npm run test:wasm'.


We do not accept code contribution at this point in the time.

Do, however, feel free to discuss language proposals on our Zulip chat and report bugs.