The practical issue is that repackaging cider-nrepl
into a combination of utility library, that would be useful for something like unrepl
and the built-in socket repl, plus the existing middleware is some work, that no one really wants to do. 🙂 From a technical standpoint there’s absolutely nothing hard, but someone was to implement this and also a new Elisp client library for unrepl and the necessary abstraction layer in CIDER to make it compatible with different REPL backends. All is easy, but all requires a relatively big amount of work to make it a reality.
The built-in socket repl is not supported yet, right?
A slightly different point of view is to use unrepl
as the abstracting layer:
• a socket repl
can be upgraded to unrepl
over the wire (CLJ only, CLJS planned)
• out of a nrepl
connection one can recreate a “pair of streams” repl (demo code in clj, you would need a bridge in elisp), once this is done, this repl can be upgraded to unrepl
And don’t forget that unrepl
doesn’t require additional dependencies on the target
so even if all you have is a serial line to the repl you can enjoy the “full unrepl experience”™
I like the idea of unrepl over something dumb like serial or telegraph pole.
I'd quite happily use it as a http alternative for internal applications
Or barbed wired https://en.m.wikipedia.org/wiki/Barbed_wire_telephone_lines?wprov=sfti1