Rendered at 12:02:39 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
goldenshale 10 hours ago [-]
I think repl driven development with access to native code could be a magic formula for agent engineering. No restarting, no re-compiling. Plus with persistent, immutable data structures you can iterate with many threads in parallel while maintaining sanity.
jwr 4 hours ago [-]
It is. I'm amazed at how quickly agents can work with my Clojure code base and try things out. They make great use of the REPL.
tikotus 4 hours ago [-]
Can it already reliably close parens? I was disappointed some time ago, but sounds like it's ready for a new go...?
jwr 3 hours ago [-]
This was a problem with early models, I would say more than a year ago, and even then, this problem was solved completely by using the clojure-mcp tools for editing.
Today you don't even need to use clojure-mcp for balanced editing. The models do a perfectly fine job.
tikotus 3 hours ago [-]
Thanks! Yeah, it was probably over a year ago that I tried it. Just the thought of a statistical program coding lisp while picking the number of closing parens based on a hunch made me shiver.
delegate 3 hours ago [-]
I'm amazed by such questions, really.
This was true with gpt-3.5, but things have moved on, dude !
It's like asking 'do movies have sound now?'.
The answer is Yes, not just sound, but also color !
s_Hogg 7 hours ago [-]
The first thing that comes to mind with no restarts or recompiling is the mangled variables you get in Jupiter if you're mucking around trying to get a prototype going and forget which cells have been run. I can definitely see agents having a problem with that. I would just try to make compilation fast if possible
kianN 6 hours ago [-]
Immutability and stateless separate the nrepl from jupyter. Clojure is not strictly functional but it tends to be the most straightforward way to do most tasks in the language.
chr15m 6 hours ago [-]
People who are already using LLMs to drive Clojure REPLs say it works well (see #ai-driven-development on the Clojure Slack). I don't think forgetting which cells have been run is a problem with the described set up.
xoxolian 1 hours ago [-]
#ai-assisted-coding actually
chr15m 30 minutes ago [-]
Yes, thanks!
pjmlp 4 hours ago [-]
Welcome to the previous AI Summer with Lisp and Prolog environments, :)
Pity that the new Summer got to ride an interpreted language, with bindings to native libraries instead.
alper 2 hours ago [-]
Is this like Janet?
fp64 2 hours ago [-]
It's full Clojure, immutable and stuff, with full C++ interop and native compilation. Janet is strongly Clojure influenced but more of an embedded scripting language. I like both quite a bit.
phillc73 1 hours ago [-]
The beautiful thing about Janet is how lightweight and portable it is, no JVM.
I use Janet for all my agentic scripting. Python is forbidden in my harness. Janet scripts for everything. Love it.
worthless-trash 1 hours ago [-]
Please, let me know which AI you have working with janet, I find everything I try to fail horribly, i thinks its clojure.
phillc73 53 minutes ago [-]
I use Maki[1] harness and GML-5.3, GLM5.3 Flash and Deepseek-4.1 Flash 1017, with a little bit of MiMo-2.6.
The key I've found is a strong skill. At the beginning, sure there were problems. However, I implemented an AGENTS rule that said if a Janet script failed more than twice on the same "gotcha", the correct syntax was added to the skill. The skill is regularly reviewed, consolidated and pruned. The Janet skill is a floor and loaded at the start of every session.
Edit: Also worth mentioning is that I developed a Janet module with runtime type guards and other helpers to encode the "gotchas". https://github.com/jennystats/janet-kit
Today you don't even need to use clojure-mcp for balanced editing. The models do a perfectly fine job.
This was true with gpt-3.5, but things have moved on, dude !
It's like asking 'do movies have sound now?'. The answer is Yes, not just sound, but also color !
Pity that the new Summer got to ride an interpreted language, with bindings to native libraries instead.
I use Janet for all my agentic scripting. Python is forbidden in my harness. Janet scripts for everything. Love it.
The key I've found is a strong skill. At the beginning, sure there were problems. However, I implemented an AGENTS rule that said if a Janet script failed more than twice on the same "gotcha", the correct syntax was added to the skill. The skill is regularly reviewed, consolidated and pruned. The Janet skill is a floor and loaded at the start of every session.
Edit: Also worth mentioning is that I developed a Janet module with runtime type guards and other helpers to encode the "gotchas". https://github.com/jennystats/janet-kit
[1] https://maki.sh