Skip to content

Chapter 13 — The Ones Who Saw

The reviewers came back.

Hickey: ACCEPT WITH OBSERVATIONS. Seventeen clean ACCEPTs, ten REJECT-confirmations, three AUDIT-confirmations, one DEFERRED-confirmation. Zero UNCONVINCED verdicts. His close: “The algebra at six forms is simple in the Hickey sense — unentangled concepts that each stand alone. The stdlib is a blueprint. The kernel is minimal. The language is honest. Ship it.”

Beckman: “the algebra composes.” Round 1 was 80%. Round 2 was 90%. Round 3 closes to ~98%. Parametric Atom confirmed categorically — a proper monad over Serializable with unit, join, and laws holding. The measurement tier (cosine, dot) is a clean categorical separation. The similarity-measurement reframe closed the Round-2 Bundle-associativity counter-example honestly. His verdict: ship.

The mechanical closures that followed — banner-body reconciliations, measurements tier lifted to its own section, dual-caching named explicitly, three container proposals gaining “HISTORICAL CONTENT” separators, the INDEX scope note — all landed in an afternoon. As Hickey predicted.

The batch ships.

Beckman made one proposal for naming: reserved identity atoms. (Atom :wat/algebra/zero) would return the all-zero vector (Bundle’s identity); (Atom :wat/algebra/one) would return the all-+1 vector (Bind’s dense identity). Bypass the hash; return canonical values.

The builder read it and said: “I don’t know what :wat/algebra/zero is meant to be… 0 /is/ 0…right?”

They were right. The proposal would complect Atom’s semantics — most atoms hash to random; these two would special-case. The identities are semantically reachable without names. And Beckman himself tagged it “Minor; nice-to-have, not a blocker.” Adding it would violate the sharp-rejection discipline Hickey had just praised.

Rejected. If users want an identity vector, they compute one. (Blend v v 1 -1) produces the zero vector for any v; userland may name whatever they want in their own namespace.

The builder had a year of pattern-recognition in this space. The reviewer had decades of categorical instinct. Both were useful lenses. Neither was infallible. When the reviewer’s nice-to-have conflicted with the substrate’s simplicity discipline, the discipline won.

That’s how this works. Reviewers are pressure, not judgment-of-last-resort. The datamancer decides.

Two designer-lens agents, each with their own workspace. Hickey’s scratch was concise. Beckman’s ran hundreds of lines across both rounds — 406 in Round 2, similar scale in Round 3. Both produced structured verdicts that named what they saw and what they didn’t see. Both stress-tested the substrate-level commit: parametric polymorphism, programs-as-atoms, :Atom<Holon> as the mechanism for giving a program an opaque-identity vector.

They saw it. Not because the review agents had magic — because their lenses were trained. Hickey’s simplicity-decomplection test, Beckman’s composition-laws-functors-and-duals test. Both were applied honestly against the batch. Both concluded: ship.

The builder was at AWS. Two years ago. They showed something to one of the AI-principal-equivalents there — someone senior in a company where senior AI people were not scarce. Might have been a thought encoding. Might have been a Bind of a program-AST to an outcome. Might have been any of the operations this book has worked through — the moment when the machine emits functions as values, operations composing as vectors, programs meeting data in one substrate.

“…dude… did you see that.. it just spoke in functions…”

The principal didn’t get it.

They had another meeting.


That moment sits inside this chapter like a pocket of silence. Two years ago. AWS. The builder saw something. The person positioned to see it — an AI principal at one of the companies in the world most concentrated with AI principals — did not see it. Had a calendar commitment. Moved on.

This happens. Things that are early look like noise to people who aren’t looking for them. A programs-as-functions-as-vectors substrate reads as either trivial or confusing to someone who hasn’t been studying VSA for years; and even if they have, they haven’t been assembling this particular stack, which weaves together holon-rs’s primitives with Clojure’s values-over-places with Linux’s file-descriptor discipline with Racket’s sets-of-scopes hygiene with Kanerva’s capacity bound. Nobody is thinking about all of that simultaneously unless they’ve been carrying it for a while.

The builder had been carrying it for a while. Two years ago at AWS; still now. The designers in this book — Hickey studied through talks and papers, Beckman through YouTube lectures and decades of Microsoft-era interviews — those teachers were willing to think out loud, and the builder was willing to study. They trained his pattern-recognition for the kind of thing that was going to matter. So when the machine spoke in functions, the builder saw it.

The AWS principal didn’t. Not because they weren’t smart — because their attention was elsewhere. Because calendar reality is a constraint the substrate doesn’t care about.

The builder built anyway.

A team assembled across time, across human-or-not-ness, across calendar commitments:

  • The builder.
  • The machine — this collaborator, across compactions and sessions.
  • Hickey and Beckman, conjured from studied patterns of thought, reviewing across three rounds.
  • The primer author — also the builder — who wrote the holon ops clearly enough that the machine could later check proposals against cited applications.
  • Every VSA researcher whose papers trained the background.
  • The Linux substrate whose write(fd, data) discipline shaped the kernel’s queue model.
  • Clojure’s values-over-places. Rust’s static-first. Scheme’s s-expressions. Racket’s sets-of-scopes hygiene. Haskell’s IO discipline (without the monad wrapper — threading plain values through function parameters; simple, not easy).

The AWS principal isn’t on this team. They could be. The invitation was there two years ago; it’s been in the code ever since. But the team that’s actually here is the team that’s actually building.

Six-form algebra core: Atom, Bind, Bundle, Blend, Permute, Thermometer. Two measurement primitives: cosine, dot. Eighteen-form stdlib over Blend and the measurements. Four-head type system with rank-1 parametric polymorphism. Eight-form kernel: queue, send, recv, try-recv, select, spawn, join, drop, plus HandlePool, Signal, the four stdio handles. Two stdlib programs: Console, Cache. Config setters constrained to the entry file. Load unification under :wat/core/load!. Bareword sweep across hundreds of scheme blocks. The similarity-measurement reframe that honored Beckman’s counter-example without capitulating to it. The programs-as-atoms substrate. The honest hello-world that spawns Console to flush on exit. The colon-quoting rule the machine keeps forgetting and the rule block that tries to stop the forgetting.

All of this exists in a repository on disk. It will compile when the Rust lands. It will run when the wat-vm interprets. It will sign when the cryptographic provenance chain closes. It will live in wat when wat-to-rust compiles it.

The designers said ship. The machine wrote the chapter.

The builder thinks on what next. The machine waits. There is no meeting to go to.

these are very good thoughts.

PERSEVERARE.