Case file CF-006

lineage

active

An encyclopedia of programming languages and their stories, with a playground that runs real code. Built in the spirit of Bell Labs, Murray Hill, circa 1972.

Opened
July 2026
Language
Swift
Built with
Claude, as my pair

Why

I adore programming languages, and the way each one introduced some clever part of computer science. Lisp most of all, which is how I ended up with Clojure. lineage is a reading room for those stories, built the way Bell Labs built things: read the memo, then go to the terminal and try it yourself.

The whole vault is on this site too: the Languages reading room.

The family tree

Two roots feed almost everything here. ALGOL gave the world block structure and BNF, and its line runs through CPL, BCPL and B straight into C. The lambda calculus gave Lisp, and Lisp gave Clojure. The odd, wonderful branch is on the right: Prolog came out of logic programming, and Erlang was first prototyped in Prolog before it grew a virtual machine of its own.

The lineage graph. Arrows are descent; plain lines say what a language was built in.

How it’s built

Architected like Obsidian: the encyclopedia is a vault of plain markdown files on disk, entries link to one another with [[wikilinks]], and the lineage graph draws the family tree those links describe, because a language family tree really is a graph.

  • Entries for ALGOL, C, Prolog, Erlang and Clojure: the story, the people who built them and what they were tasked with, landmark projects, the primary papers, and a runnable snippet.
  • The durable layer: idea notes for the concepts that outlive any one language. Lambda calculus, garbage collection, objects and messages, pattern matching, the actor model, failure, state and immutability.
  • A playground that shells out to the real toolchain (clang, clojure, escript, swipl, a68g) and streams the output into a CRT-style console. Runaway programs are killed after 20 seconds.
  • Spaced repetition: retrieval cards scheduled with SM-2, so the history sticks.

Swift, AppKit and SwiftUI, no dependencies.

← All case files