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.

Most of them were designed, and their specs written, by Chris Pressey of Cat's Eye Technologies; the exceptions are:

  • Startre and *W, which were designed and written by John Colagioia; and
  • TURKEY BOMB, which (I baldly assert) was found unexpectedly one day under a stack of Byte magazines at a charity shop.

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

  • 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 notes for a livecoding language.
  • Sampo, which is largely a set of notes for a production language.

The specification documents are copyrighted by their respective authors. Not that I mind if you fork this repo and submit pull requests to fix errors or the like, for such is the nature of the distributed version control beast.

Note on the name: in the dialect of English where I come from, "spec" is short for "specification" but "on spec" is short for "on speculation." Thus the name is trying to convey the idea of specifications that were just kind of pulled out of the air.