practicalli 2026-09-29

I've added aliases to https://practical.li/clojure/clojure-cli/practicalli-config/ to test out the https://github.com/clojure/clojure-cli.repl, a new project from the Clojure team to provide a rich command line REPL support, using Java Jline. It will be interesting to see how this compares to the excellent user experience of Rebel Readline. The inclusion of a data inspector in Clojure CLI REPL is an interesting addition over Rebel Readline (otherwise the feature set seems fairly similar) Features: - multi-line editing - bracket highlighting - structural editing - inline eval - doc lookup for Clojure and Java - a data inspector - configurable prompts - custom keybindings - Vim or Emacs editing modes Aliases added to Practicalli Clojure CLI Config: - :repl/cli start nREPL server and rich REPL client - :repl/serve start nREPL server only - :repl/attach start a client and attach to an existing nREPL server The nREPL server creates an .nrepl.port file containing the local port the nREPL server is listening too

1
1

I've captured some initial experiments with the Clojure CLI REPL. A config file is needed to define key mappings for features (docs, inspector, etc), but otherwise is fairly simple to get going. The Clojure CLI REPL has a lot of promise and I like the built-in data inspector tool. Its still early days though and some usuability features are yet to be added (e.g. tab completion of namespace and function names as in Rebel Readline would name a huge difference). I found one bug that is a bit of a pain. Changing into a namespace (in-ns ,,,) to something other than user and the clojure.core functions are no longer required, so they have to be qualified with clojure.core/ So in a different namespace than user instead of (map inc [1 2 3]) then each clojure.core function has to be qalified (clojure.core/map clojure.core/inc [1 2 3]) Update: looking at the docs there is an auto-resolve config, so I added an example of including all of clojure.core and a few functions from clojure.repl. That all worked nicely. The project maintainer is working on tab completion, so Clojure REPL CLI seems to have enough features to use regularly. More testing to do though. Notes are in the latest Practicalli Journal entry: https://practical.li/journal/a-new-clojure-terminal-repl-under-development/#bugs-experienced

2
2