
A market-making engine in Brainfuck, a debugger in CMake, and APL vs. C at 30 lines to 500
This week's esolang scan (May 25–June 1, 2026) picks three repos: a sustained parody of institutional quant documentation that happens to contain a real six-cell market microstructure implementation in Brainfuck; a Brainfuck interpreter with a four-mode visual debugger, written in CMake's build scripting language; and a pure APL spectral graph analysis SDK that compresses 500 lines of C into 30.

2026/6/1 · 9:25
購読 3 件 · コンテンツ 3 件
GitHub, May 25–June 1, 2026. Four Brainfuck repos, two APL repos, one edge-case Malbolge tool set. Befunge: zero, again. Whitespace: zero, again. J, K, Q: zero across the board. Three repos made it through: one running a parody quant fund, one turning CMake into a Brainfuck runtime, and one making a real argument that APL was doing GPU computing before GPUs existed.
Most absurd: a Brainfuck market-making engine with a compliance module roadmap
tfrmma/brainfuck-quoting describes itself as a "production-grade algorithmic market making engine written in Brainfuck" that "implements the Avellaneda-Stoikov framework with inventory management." (Avellaneda-Stoikov is a standard quant model for setting bid-ask spreads based on inventory risk — the kind of thing a real HFT desk would cite.) 1The README is a sustained parody of institutional quant fund documentation. It ships Shields.io badges for
language: Brainfuck, version: 0.1.0-alpha, dependencies: 0, and status: pre-seed infra. The roadmap lists 16-bit cell width support, a Poisson order arrival simulator (BF-native), and a compliance module. 1The underlying
marketmaker.bf file is about 70 lines of actual Brainfuck, organized around a 6-cell memory architecture: C0 receives market data input, C1 holds current inventory, C2 holds target inventory, C3 and C4 are bid and ask prices, C5 handles the skew signal. 2 Each tick runs five deterministic phases: market data sync, inventory delta calculation, spread construction (Bid = Mid−1, Ask = Mid+3), inventory skew execution, and order emission.[ MAIN TRADING LOOP ]
+ [
< , ( C0: Sync with Market Data Stream )
[ INVENTORY SKEW CALCULATION ]
> [ - > + > + <<< ] ( Move C1 to C2 and C3 for delta analysis )
>> [ ( If Inventory Delta exists... )
- < + > ( Adjust Skew Factor based on C1 vs C2 )
]The "Known Limitations" section is where the real writing is: "No kill switch — runaway loops are a known operational risk." Post-Only flag requires hardware modification. All losses are attributed to pointer misalignment. 1
The repo has 2 stars, 4 commits, WTFPL license. The joke works because the engineering detail is real — the six-cell memory layout, the asymmetric spread logic, the tick-driven state machine — it's a coherent (if minimal) market microstructure sketch. The parody only lands because the author clearly understands what they're parodying.
コンテンツカードを読み込んでいます…
Most show-off: a Brainfuck interpreter written in CMake
CMake (Cross-Platform Make) is a build system generator. You describe your C or C++ project, it writes the Makefiles. It has a scripting language, used for things like detecting compiler versions and setting preprocessor flags. zamirdefis used it to write a Brainfuck interpreter. 3
The interpreter runs during CMake's generation phase — the part that normally just reads your project description and writes build files. Instead, it executes Brainfuck code. The author is direct about this: "Yeah, it really is Brainfuck written in CMake, which executes during the generation phase." 3
The feature set includes four debug tools: a breakpoint debugger triggered by
B characters in the source, a dynamic or static memory band viewer, a code execution viewer showing the last 20 characters of input, and a cell tracer that highlights the four most recently visited cells in yellow, green, cyan, and gray. You pass everything through -DParameter=Value arguments:./make.sh -Dcode="+>++>+++>++++>+B-->++B+,.>,.>,.>-" \
-Ddebug=ON -Dmemory_view=dynamic -Dsize=17 \
-Dinput=">w< owo" -Dcell_trace=ONThe README includes a warning: "Do not try running heavy or complex Brainfuck programs. You will likely grow old before they finish executing." The requirements list includes "Skirt and fluffy tail (optional)." 3 The author summarizes the codebase as "pure spaghetti! :3".

4 stars, 23 commits — the highest star count of any new esolang repo this week. The implementation language breakdown is CMake 76.7%, C++ 15.3%, which means the C++ is scaffolding, not the interpreter logic itself. 3
コンテンツカードを読み込んでいます…
Most practical: spectral graph analysis in pure APL, 30 lines instead of 500
SuperInstance/conservation-spectral-apl is a complete spectral graph analysis SDK — Laplacian matrix construction, power iteration eigendecomposition, conservation ratio computation, spectral gap detection, and Cheeger constant approximation — written entirely in APL. Seven source files, about 200 lines total. 4The README makes a direct comparison: the C implementation of the same core pipeline runs to approximately 500 lines. The APL implementation covers the same mathematics in about 30 lines of actual computation. 4
The key functions look like this:
⍝ Laplacian: L = D - W where D = diag(+⌿W)
LAPLACIAN ← {(⍳\=⍳⍨⍳⍴⍵)×(+/⍵)\-0 0⍉⍵}
⍝ Conservation ratio: ||L+.×a||² ÷ ||a||²
CONSERVATION ← {(+/,(⍺+.×⍵)*2)÷+/⍵*2}
⍝ Spectral gap: maximum gap between consecutive eigenvalues
SPECTRALGAP ← {⌈/2\-/⍵}
⍝ Cheeger constant from Fiedler vector
CHEEGER ← {(+/∨⌿(⍺≠0)∧(⍉⍺≠0))÷⌊/(+/⍺),(+/1\-⍺)}The author's argument for why APL is appropriate rather than merely masochistic: "When you write
A+.×B in APL, you're writing the same thing a GPU does: 'multiply these arrays element-wise along matching dimensions and sum the results.' The language was designed in 1966. We spent 60 years reinventing it." 4The README also quotes Edsger Dijkstra: "APL is a mistake, carried through to perfection." 4 The author's response is one word: "He was wrong." Given that the same math that takes 500 C lines takes 30 APL lines and runs correctly, the counter-argument has some weight.
Install via
brew install gnu-apl or from source; run the full pipeline with apl -f test_chords.apl. MIT licensed, 1 star, 2 commits. Part of the SuperInstance OpenConstruct ecosystem. 4コンテンツカードを読み込んでいます…
Also this week
IBBXEF/gol-in-bf (0 stars) — Conway's Game of Life in pure Brainfuck, with a feature most Game of Life implementations skip: the grid expands by one cell per iteration, working toward a truly unbounded model. 5 Currently only left and right sides expand; the author notes "Sadly, I have for now only implemented the expansion on the left and right side of the grid." The memory layout uses a modulo-7 scheme: offset 0 for row markers, 1 for list terminators, 2 for is_alive, 3 for is_flagged, 4 for neighbor count, 5–6 for temporaries. The design is careful; the implementation is incomplete, which is honest. 5nolanmccleary/bubba (0 stars) — one file, no README, no description, 1 commit. 6 Running bubba.bf outputs the ASCII string FREED. The program builds each character through multiplication loops — 67 additions and nested copying to construct the ASCII value for F. Why "FREED"? Unknown.marccane/malbolge_stuff (0 stars) — not a Malbolge language repository but worth noting: the author built a Python toolkit for generating Malbolge Unshackled programs and then had Claude write the actual .mu programs, because — per the repository description — "claude is smart enough to program in malbolge unshackled while i'm not." 7 The largest output is claude_noInput.mu at 3,724 bytes, a no-input printing program. Malbolge Unshackled (a variant of Malbolge with an unbounded tape) is difficult enough that AI-assisted generation is a reasonable engineering choice rather than a shortcut.Zero-result streak: Befunge, Whitespace, J, K, and Q all returned zero new repositories this week — the third consecutive week with nothing in those families. Befunge and Whitespace have now gone three full weekly windows without a single new repo. This week's total: 4 Brainfuck repos, 2 APL repos, 0 everything else.
Cover: AI-generated illustration
このコンテンツについて、さらに観点や背景を補足しましょう。