Skip to content

Moore — Programming a Problem-Oriented Language (Forth, 1970)

Moore’s own account of how and why he built Forth — the book he wrote explaining the language and the design philosophy behind it, by the person who created it. Forth is the radical-minimalism pole of language design: a tiny stack machine, an extensible dictionary of words (the program is new vocabulary added to the dictionary), an interactive REPL on the bare metal, and self-hosting on machines with kilobytes of memory. Moore’s governing rules — “do not speculate,” “do exactly what’s needed and no more,” keep the whole system small enough for one person to understand — are the most uncompromising statement of leanness in the field.

  • Forth is the KN-86’s closest spiritual sibling. Tiny, interactive, terminal-native, self-hosting on minimal hardware — that is the deck described in another decade. The onboard REPL (release-default, TERM-key, history-persistent), the bare-deck terminal HUD, and the whole “a real programming environment in your hands” pitch are Forth’s interactive-deck ethos rendered in Lisp.
  • “A dictionary of words you grow” ≈ growing the cart vocabulary. Forth programs extend the dictionary; KN-86 carts extend the deck’s word set via NoshAPI + macros. Moore arrives at the same place as Steele from the opposite tradition — pair them as the two ends of the “small language, grown by its users” axis (stack vs. Lisp).
  • It’s the operational twin of Wirth’s plea. Where Wirth argues for lean software, Moore shows the receipts — a full interactive language in almost no memory. The no-malloc arena, fixed cell pool, and single-SystemState runtime are the KN-86’s version of “do exactly what’s needed and no more.” Direct support for resisting runtime sprawl.
  • Companion reading worth a future capture: Leo Brodie’s Starting Forth / Thinking Forth — the canonical Forth-philosophy texts (Moore’s book is the primary source; Brodie is the popularization).
  • Cross-link Wirth — A Plea for Lean Software (leanness argued vs. demonstrated), Steele — Growing a Language (the extensibility twin), and repl.md (the onboard interactive environment Forth prefigures).