cider-nrepl was mostly inspired by swank-clojure.
It started life as an attempt to push as much of CIDER’s functionality as possible to the nREPL layer,
with the assumption that this would make it easier to develop CIDER and would open up the possibility
to build complex features like an interactive debugger. Fortunately, the assumption turned out to be correct.
cider-nrepl provides pretty much everything that a Clojure development environment might need (and more).
cider-nrepl served as the inspiration for more similar
middlewares - e.g.
sayid. We quickly
realized that there was nothing CIDER specific in those middlewares and we’ve
started to encourage more tool authors to leverage them. Today
developed and released independently from CIDER and is used by most of the
nREPL-based editors and IDEs out there, which is a great example of team work.
More recently we’ve been working to extract the core functionality out of
into a REPL-agnostic library.
You can check out this talk, which explores the birth of