git @ Cat's Eye Technologies Specs-on-Spec / master

Tree @master (Download .tar.gz)

Specs on Spec

This is a collection of specifications for programming languages that have not been implemented. Indeed, many of them may well be unimplementable.

With the exception of TURKEY BOMB, the spec for which (I baldly assert) was found unexpectedly one day under a stack of Byte magazines at a charity shop, these languages were designed by, and their specs written by, Chris Pressey of Cat's Eye Technologies. They are distributed under a constellation of licenses which allow free redistribution; mostly CC-BY-ND 4.0, but see LICENSES/ and .reuse/dep5 for more details. (This arrangement of licensing info follows the REUSE 3.0 convention.)

Here are some of the programming languages contained herein.

Also, I say "programming language", but of course that term is rather flexible 'round these parts:

  • Didigm is a reflective cellular automaton;
  • Madison is a language for writing formal proofs;
  • MDPN is a (two-dimensional) parser-definition language; and
  • Opus-2 is a "spoken" language, for some rather exceptional meaning of "speaking".

Most of these specifications are "finished" in the sense that there is nothing obviously more to add to them. (Of course, an implementation, or some really brow-furrowing thought experiments, could always turn up problems with a specification.) The exceptions, which can be considered "works in progress", are:

  • Irishsea, which is largely a set of sketchy notes for a livecoding language.
  • Sampo, which is a loose collection of notes about features that would make for a "good" language that could be used in production.
  • PolyRical, which was an attempt at a successor language to SixtyPical, which will probably itself be superceded by something else.

A Note on the Name of this Repository

In the dialect of English that's used where I come from, "spec" is short for "specification" but "on spec" is short for "on speculation." Thus the name is referring to the idea that these language specifications were just pulled out of thin air, rather than being products of deep consideration.