I invite you to upgrade to a paid subscription. Paid subscribers have told me they have appreciated my thoughts & ideas in the past & would like to see more of them in the future. In addition, paid subscribers form their own community of folks investing in improving software design—theirs, their colleagues, & their profession.
Genie Lessons from Genie Sessions: Prose as a Programming LanguageKent sits down with one of the founders of OpenProse to talk through their method of prose as a programming language.This session is sponsored by OpenProse. More on them below — they're also the reason we're here. Dan Blumenau built OpenProse — a framework that lets you write programs in structured English and run them with an AI agent like Claude Code. The description sounds either obvious or impossible depending on your priors. When I told him it sounded impossible, he said: “People were shocked that it works.” So we installed it and built something live. The project: a service that would show me tides, weather, sunrise, moonrise — everything I want to know before a walk along the coast. One command. A few minutes. It came back with an hourly tide chart for Montara (I picked a town I don’t actually live in), fog conditions, waxing crescent moon, the works. Here’s what interested me about the architecture underneath. Each OpenProse component has a The Dijkstra objection comes up immediately: natural language is too ambiguous to be a programming language. Dan’s answer: we don’t know what’s possible until we walk the landscape. Plenty of people would have said nothing is possible with prose. That’s clearly not true. The question is just where the edges are — and you can only find those by trying. The The other clever piece: sub-agents pass pointers instead of data. Variable bindings are files. The pointers are file paths. When a sub-agent produces a giant context block — a full PDF analysis, a research output, a tide chart — it writes it to disk and hands back the path. The main thread stays clean. Context management, done at the file system level. I’m building a Smalltalk VM from scratch right now — yes, literally writing a VM — and watching this I thought about how different it is to build a virtual machine when your primitives are LLM calls instead of machine instructions. My VM is 1000x faster. But the primitives here are so much larger that on the right problems, it’s a wash. What’s next for OpenProse is interesting. Dan’s thesis is that the whole industry is moving toward declaring outcomes and letting agents figure out the path. Codex has a One of my many projects from the last 40 years is now actually possible. The genie just got smarter. Dan is at @IRL_DanB on Twitter and dan@openprose.ai. OpenProse is open source — search it on GitHub and follow along. He loves feedback and means it. You’re currently a free subscriber to Software Design: Tidy First?. Buying me more time to think & write means more thoughts & ideas for you. |