Burin Choomnuan
Principal Engineer/Team Lead/AI Engineer
NewsCorp Australia
209 ports in six days, in a language the model barely knew
209 ports in six days, in a language the model barely knew
Jolt and jank are two young Clojure implementations, one running on Chez Scheme and one compiling to native code through C++/LLVM. Between them they have almost no public code for a model to have learned from. Ask Claude for jank and it confidently writes JVM Clojure, and none of that compiles. Over six days in July I ported 209 of raylib's official C examples to jank anyway, across 194 commits. Then again in Jolt, and once more in JVM Clojure over Panama. That's 422 working examples across three runtimes, every one of them driving the same C game library.
This talk is about the harness, because the model was the same model everyone in the room already uses. Everything around it is what changed. Three pieces do most of the work. The compiler becomes the eval, so "Mismatched 'if' branch types 'Color' and 'nil'" is a grading signal, and every error the model hits once turns into a rule it never hits twice. The trap catalog is context engineering with receipts: a 240-line AGENTS.md where each rule cites the committed example that proves it. Verification has to be cheap and unattended, so a graphics program that opens a window gets an alarm, a screenshot and an exit code an agent can read on its own.
The failures get airtime too. The model never derived the AArch64 rule that lets a 24-byte struct pass as a pointer, and no prompt got it there. You'll leave with all four artifacts, and a way to size up any codebase your agent has never seen.
Burin Choomnuan
Burin Choomnuan is a Senior Principal Engineer at News Corp Australia, where two decades of shipping software has lately turned into shipping software with agents. Over the past year a two-person team has used ClojureDart to put more than a dozen production apps on iOS, Android and macOS, most of that code written through a structured agent workflow where implementer agents do the typing, reviewer agents grade the result, and the human stays architect.
Outside work he ported a C game library to three young Lisp runtimes, 422 examples across Chez Scheme, C++/LLVM and the JVM, nearly all of it agent-written in languages with close to zero public training data. That work is open source. He has also rebuilt seven LLM agent harnesses in Clojure, porting from TypeScript, Rust and Python originals.
He speaks at Clojure/Conj and at Sydney meetups including FP-SYD and AI SYD. He recently restarted the Sydney Clojure meetup as Clojure Australia, a national group running monthly hybrid sessions, and co-hosts Gen AI Enthusiasts, a 2,000-member community meeting fortnightly on practical LLM use. He writes at b12n.net.