RCIRODERICK CONSULTINGTalk to an engineer
← All Research Notes

Babel Parameter-Sheet Candidates: BF-Family, mid-2026

Research note. Drafted 2026-05-17 from a fresh survey of esolangs.org. Working draft. The candidate list will be re-run periodically; the list of schema gaps is the actionable engineering deliverable. Companion to Beyond Brainfuck-Tape: Feasibility of Extending the Runtime.

TL;DR

Babel today executes one base machine, brainfuck_tape, and ships two parameter sheets: vanilla BF plus Rioplatense BF. A survey of 32 languages from the Brainfuck-family entries on esolangs.org, across three sub-populations of unimplemented, abandoned interpreter, and culturally significant, finds 10 candidates of high priority for parameter sheets and surfaces four small schema gaps that block the rest. Top three fits for Babel today: Ook! is iconic and proves coverage of the canon; Chespirito completes the Spanish-language trio alongside the existing Rioplatense sheet; Mierda is the first-page Spanish BF, currently with a single fragile interpreter. Two more, Spoon and La Weá, ship after small enum extensions to the schema. The full list anchors a "Babel coverage roadmap" that complements the methodology paper's claims with shippable artifacts.

The three sub-populations surveyed

  1. BF-family languages with no maintained interpreter, 8 candidates: wiki entries with specs but no maintained interpreter. Babel fills a real gap.
  2. Interpreters that are abandoned, obscure, or locked to a platform, 12 candidates: implementation existed once, now a dead link, fragile Common Lisp, or Windows only. Babel revives them.
  3. Culturally significant BF derivatives, 12 candidates: Mierda, La Weá, and Chespirito form the trio of Spanish flavour; Ook! and Spoon make the canon of token encoding; Boolfuck and Smallfuck make the canon of minimal sets; plus GERMAN, BaguaFuck, Pikalang, COW, Pbrain. Babel covering them is methodological exemplar, not gap-filling.

Total: 32 distinct candidates; Mierda appears in both 1B and 1C but is counted once. Full metadata per candidate, including wiki URL, spec status, interpreter status, fit score for Babel, cultural significance, and recommendation, is in the raw agent output committed to the Babel repo.

Top 10 targets for parameter sheets, prioritized

Babel fit × cultural value × shovel readiness:

  1. Ook!, iconic, fits today, proves Babel covers the canon. Ship as examples/ook.yaml.
  2. Chespirito, completer of the Spanish-language trio; needs only the already-present RANDOM op. Ship as examples/brainfuck-chespirito.yaml.
  3. Mierda, first-page Spanish BF, currently only a Common Lisp interpreter; Babel becomes the maintained reference. Ship as examples/brainfuck-mierda.yaml.
  4. GERMAN, exemplar of a natural language that is neither Spanish nor English; broadens the naturalness axis claim empirically; revives a fragile Common Lisp implementation. Ship as examples/brainfuck-german.yaml.
  5. BaguaFuck, exemplar of a Unicode glyph from the I-Ching trigrams, fragile reference implementation; clean fit. Ship as examples/baguafuck.yaml.
  6. Binaryfuck, exercises Babel's binary encoding axis, currently unexercised. Ship as examples/binaryfuck.yaml.
  7. Pikalang, high cultural recognition; the only catch is the overlap of token prefixes where pi is a prefix of pikachu, which the parameter sheet should document. Ship as examples/pikalang.yaml.
  8. Alphuck, plain-letter substitution, encoding in ASCII punctuation. Easy ship. examples/alphuck.yaml.
  9. La Weá, iconic Chilean Spanish-language; a partial sheet covers 12 of 16 ops today; full coverage needs JUMP_UNCONDITIONAL plus HALT ops added to the InstructionOp enum. Ship a partial sheet now, follow up after the enum extension.
  10. Spoon, iconic BF with token encoding; needs Huffman-style binary encoding plus a HALT op. Stretch goal pending schema work.

Schema gaps surfaced

The survey surfaced four concrete schema extensions Babel needs to expand its coverage of the BF family. None require runtime work; three are small additions to Pydantic enums or models, the fourth is a tweak to a validator:

  • InstructionOp additions: HALT blocks Spoon and La Weá; JUMP_UNCONDITIONAL blocks La Weá; REGISTER_STORE, REGISTER_RECALL, and LOOP_SKIP block COW; procedure ops block Pbrain; inverse-loop plus break blocks Brainlove.
  • Subsetting in _check_brainfuck_tape_completeness: the validator currently requires the full canonical op set. Allowing partial canonical sets would unblock Boolfuck and Smallfuck, both iconic BFs on minimal tapes.
  • Encoding enum: currently has binary but not "variable-length binary or Huffman", which blocks Spoon, and not "dispatch by word length", which blocks Wordfuck. Small enum additions.
  • Instruction operand slot: the current Instruction model has no operand field. This blocks the register and OISC families even at the parameter-sheet level, since Minsky's DEC reg label needs operands, not just tokens. Larger model change, but the precondition for any Path B work on register and OISC families.

Of these, the first three are days of work each; the fourth is bigger, since it touches the model, the loader, and the interpreter trampoline, but is also the precondition for Path B's OISC and register families. See the feasibility note on Path B for that thread.

Why Babel covering these matters

The methodology paper argues that an esolang can be specified, for the purposes of design and generation, as a parameter sheet against a shared schema. The argument carries more weight with worked examples. Currently Babel ships two parameter sheets, both BF derivatives. Shipping the top 10 above would:

  • Multiply the population of covered parameter sheets from 2 to 12 plus.
  • Demonstrate that the schema generalises across variations in cultural substrate, encoding, and instruction set: Spanish, Chilean Spanish, German, Mandarin or I-Ching, binary, Morse, monkey language, Pokémon flavour.
  • Revive 3 or 4 languages whose maintained interpreters have lapsed.
  • Surface and resolve the four schema-gap items above as a by-product, leaving Babel cleaner for downstream authors of parameter sheets.

Reading the raw data

The full breakdown per candidate, all 32 entries with wiki URLs, interpreter status, notes on fit for Babel, and recommendations per candidate, is in the raw agent output at research-notes/interpreter-candidates-2026-05-17.md in the Babel github repo. The survey is illustrative, not exhaustive, since the wiki has 806 BF derivatives total, and the long tail beyond the canon is dominated by single-author joke languages whose coverage by Babel would be busywork rather than methodologically meaningful.