The first artist's monograph of programming languages, out September 23, 2025. More at MIT Press.
"Every new spread in the book makes a reader feel like they're discovering new territory with a worthy explorer who's there for the joy of it."
- Douglas Coupland
An expanding list of implementations and documentation of realized languages.
A polysemantic language for code with multitudes of meaning.
Valence is a programming language written in eight Ancient Greek measuring and numeric signs. Each is a homophone with multiple meanings. Context determines the meaning of the symbol; if multiple readings remain, every interpretation plays out in parallel.
FatFinger embraces the true meaning of JavaScript by allowing typos and misspellings to read as valid code.
A language where code is written as empty folders. the program is encoded into a directory structure. All files within are ignored, as are the names of the folders. Commands and expressions are encoded by the pattern of folders within folders.
A language where data decays the more it's used; the programmer has a short time to get their point across to the user before the program fades into entropy.
A programming language is a formal language comprising a set of strings that produce various kinds of machine code output.
A language where every text is a valid program.
Inspired by the Oulipian constraint set Prisoner's Constraint, in Captive every tall lower-case letter is a command. All other letters are ignored.
A language where code is written with photographs. The LP coder creates algorithmic photography: a series of photos that, in addition to their visual content, function as a program when run in Light Pattern. Programs written by the creator of LP explore this relationship.
A programming language whose virtual machine is Olympus. Instead of registers, we have a set of gods, each of which will do specific things for us if we ask them in the right way.
A language where one writes code using music; the program is a MIDI file read by the compiler in terms of pitch intervals (the first language to function this way). The coder creates a song that also functions as a program. Designed with the songwriter in mind, allowing flexibility in how the music is constructed.
A language where any meaningful action takes place between the lines of code. Every command is a time-out, an instruction to sleep. This is the only thing accepted as a valid command. The other functionality of the language occurs based on how much time has passed. This means that waiting the correct amount of time might fire a print command, or adding a value to the stack. As a web-based language, one has to keep the program running in the active tab and not click away, or risk the wrong amount of time passing, causing the program to fail. Only rapt attention by the programmer (or an inactive computer) will let the program run as intended.