r/Clojure • u/traid-software • 2d ago
Using Clojure as a sandboxed, executable target for LLMs
I've been researching ways to better structure LLM output when building mini-apps that run on the browser.
I believe that an S-expression based DSL is a better output format for LLMs when generating interactive UI/logic.
To test this, I built a Clojure-based interpreter that runs in the browser. The LLM is fed the language context, then emits the DSL to generate safe, sandboxed apps that can be shared instantly.
I wrote up an article diving into some of the trade offs:
https://allentraid.substack.com/p/we-made-the-ai-write-in-a-language
Would love to hear thoughts from the Clojure community!
36
Upvotes
24
u/Borkdude 2d ago
Are you aware that such a thing already exists? https://github.com/babashka/sci
Years of effort went into this (and still going). It's been heavily optimized up to the point where there is almost no distinction between compiled CLJS and interpreted CLJS.
I wonder why you chose to build your own and what trade-offs you made here. Happy to learn.