back home


A pure TypeScript JavaScript implementation of a call-by-push-value programming language and virtual machine. It's a minimal language interpreter designed to make experimenting with language and compiler design fun and tangible - programming language theory is rife with ten dollar words for five dollar concepts.


I am working on a programming language, inspired by Levy's Call-By-Push-Value and Girard's linear logic and also mushrooms.


Over the years I have frequently become obsessed with some topic in computer science or programming or related mysticism, and I will write little proof-of-concept programs whose immediate value is negligible, but which nonetheless contain some artifact worth preserving. This library is my little "garden" where I cultivate and hybridize weird and novel (to me) ideas.

In some cases I am essentially maintaining my own fork of existing libraries which either stalled in development or which I simply could not resist reverse-engineering. However, I have also attempted to cultivate these as a coherent library ecosystem, and re-implemented several libraries to be in terms of shared, custom base libraries. You'll see, it's neat.