Code
Console output
Canvas output

chasm is a very simple programming language developed by Colin Eberhardt to accompany a talk at FullStack Conference NYC. It is not intended to be a fully featured language; rather, its purpose is two-fold:

  1. Introduce the basic building blocks of compilers - and show that they aren't that scary or difficult!
  2. Reveal some of the inner working of WebAssembly, a new and exciting language / runtime that Colin think people need to know more about.

This chasm compiler is written in Rust and compile to WebAssembly, you can try it out using the above editor. When you click on the 'run' button above, the code is tokenised then parsed/compiled into a WebAssembly module then executed via the browser's WebAssembly runtime (this happen in a single pass).

The original chasm compiler was written in TypeScript, you can try it out in this similar page.