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
- BF-family languages with no maintained interpreter, 8 candidates: wiki entries with specs but no maintained interpreter. Babel fills a real gap.
- 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.
- 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:
- Ook!, iconic, fits today, proves Babel covers the canon. Ship as
examples/ook.yaml. - Chespirito, completer of the Spanish-language trio; needs only the already-present
RANDOMop. Ship asexamples/brainfuck-chespirito.yaml. - Mierda, first-page Spanish BF, currently only a Common Lisp interpreter; Babel becomes the maintained reference. Ship as
examples/brainfuck-mierda.yaml. - 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. - BaguaFuck, exemplar of a Unicode glyph from the I-Ching trigrams, fragile reference implementation; clean fit. Ship as
examples/baguafuck.yaml. - Binaryfuck, exercises Babel's
binaryencoding axis, currently unexercised. Ship asexamples/binaryfuck.yaml. - Pikalang, high cultural recognition; the only catch is the overlap of token prefixes where
piis a prefix ofpikachu, which the parameter sheet should document. Ship asexamples/pikalang.yaml. - Alphuck, plain-letter substitution, encoding in ASCII punctuation. Easy ship.
examples/alphuck.yaml. - La Weá, iconic Chilean Spanish-language; a partial sheet covers 12 of 16 ops today; full coverage needs
JUMP_UNCONDITIONALplusHALTops added to theInstructionOpenum. Ship a partial sheet now, follow up after the enum extension. - Spoon, iconic BF with token encoding; needs Huffman-style binary encoding plus a
HALTop. 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:
InstructionOpadditions:HALTblocks Spoon and La Weá;JUMP_UNCONDITIONALblocks La Weá;REGISTER_STORE,REGISTER_RECALL, andLOOP_SKIPblock 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. Encodingenum: currently hasbinarybut not "variable-length binary or Huffman", which blocks Spoon, and not "dispatch by word length", which blocks Wordfuck. Small enum additions.Instructionoperand slot: the currentInstructionmodel has no operand field. This blocks the register and OISC families even at the parameter-sheet level, since Minsky'sDEC reg labelneeds 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.