I’ve been reading Andrew Tenenbaum’s Modern Operating Systems recently and am thoroughly enjoying it. I’ve also been implementing an esolang called “Shapes”.
The idea of shapes was to create a syntax based on symmetry, and other geometric properties. But I’ve become sidetracked along the way.
Shapes was to use a primitive virtual machine as an interpreter for the language. I’ve been feeling such joy from writing this interpreter that I’m thinking of putting the language design to the side for a moment and focus on writing a very neat esolang virtual machine. I blame Tenenbaum for making me think of runtimes over grammar and functional transformations. But I cannot blame him for the silly path that I am taking now.
My goal is to:
And I’m going to do this in a particular way:
Most VMs are designed to be extensible: have a small core, and allow extra functionality to be implemented in either the source language or through extensions. ShapesVM will instead chuck a lot of functionality into the VM. This is because the source languages of the VM are not particularly expressive. For instance, it will be much nicer and more efficient to build container datastructures and algorithms into the VM than to implement them in say, brainfuck.
There are other projects with a similar aim, for instance, EsotericIDE is an IDE supporting several esoteric programming languages.
But this is pure recreation, and so in this case I feel no guilt in trodding a similar path.
13-03-2018 The Many Bleeding Edges Of Self Sufficiency
13-03-2018 Start Of 2018
21-10-2017 The Joy of Virtual Machines
21-10-2017 The Kolmogorov Esolang
03-07-2016 Fat Ephemeralization
03-07-2016 Nathan Barley, meet Autocad.
08-03-2016 Appeal to Monads
29-02-2016 Godelbrot Region Render Algorithm