Splink!
Back before the Handmade Network started doing the yearly Wheel Reinvention Jam they put on the Lisp Jam. It was the same year that I was first diving into non-textual programming. So I decided to use the jam as a chance to explore what a programming system would look like with just a small touch of non-textual structure. Splink! was the result.
The underlying language is a Lisp variant that I hand rolled after reading some other
small Lisps like
minilisp
and
tiny-lisp.
The code is organized inside of .splink
files which are
not text files. Instead a .splink
file contains a list of
so-called "definitions". Each definition has an identifier string and a body string. Even
just this much structure made it very easy to add features like error containment and
slices to the programming system.
Splink! is not a particularly useful programming system. But it did further convince me that I should pay close attention to the data structure that stores code in a programming system, and how the choice of data structure can simplify or complicate problems related to programming tools.