logoalt Hacker News

clx75 • today at 5:50 AM • 2 replies • view on HN

I have similar experiences in Clojure. I use Pi and created an extension which teaches the LLM how to start a JVM with a Clojure nREPL listening in it. Added a tool which lets the agent evaluate any Clojure form inside the JVM. Sprinkled the setup with clj-reload and now the agent is using the nREPL as if it were its second nature.

What I like most is how fast testing goes: it modifies test code on disk, asks clj-reload to reload all affected namespaces, then reruns the tests. It's also fun to see how it verifies its assumptions by evaluating short programs through the nREPL.

I asked it to organize the various subsystems inside my playground repo into Integrant systems and make it possible for me to say things like "restart the http subsystem".

It also understands shadow-cljs: I replicated the necessary parts of the shadow CLI tooling in Clojure; now I can compile, watch and serve any number of CLJS apps located in various namespaces from inside the same JVM. There is no need to touch the command line any more: I just instruct the agent to start a particular CLJS app and it's there.


Replies

chartered_stack • today at 6:31 AM

I came across a very similar project recently.

https://github.com/DeadMeme5441/arrodes

It seems to be a bit more integrated than what you describe here because it's completely built around a Clojure REPL

miroljub • today at 5:54 AM

Which extension do you use?

➕ show 1 reply