- Notifications
You must be signed in to change notification settings - Fork98
nrepl/nrepl
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
nREPL is a Clojurenetwork REPL thatprovides a REPL server and client, along with some common APIsof use to IDEs and other tools that may need to evaluate Clojurecode in remote environments.
nREPL powersmany well-known development tools.
- Start an nREPL server (e.g. with
lein repl
) - Connect to the server using any nREPL client (e.g. CIDER, Calva, vim-fireplace, rebel-readline)
- Start hacking!
See thedocumentation for way more information on the subject.
You can find nREPL's API documentation oncljdoc.
Extremely stable. nREPL's protocol and API are rock-solid and battletested. nREPL's team pledges to evolve them only inbackwards-compatible ways.
All experimental features are marked explicitly as such in nREPL'sdocumentation, but even those are fairly stable by most standards.
How is this different from the "contrib"tools.nrepl project?
Check the brief history of nREPL, availablehere.
Check outthis detailed comparison.
Yes and no. The reference nREPL implementation is Clojure-specific, but it can be extended with ClojureScript supportvia the Piggieback middleware. In the future there may be implementations of nREPL that target ClojureScript directly.
The nREPL protocol is language-agnostic and implementations of nREPL servers exist forseveral programming languages.Implementing new nREPL servers ispretty simple.
SeeHacking on nREPL.
This project exists thanks to all the people who contribute.
Thank you to all our backers! 🙏 [Become a backer]
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]
Copyright © 2010-2025 Chas Emerick, Bozhidar Batsov and contributors.
Licensed under the EPL. (See the file epl.html.)
About
A Clojure network REPL that provides a server and client, along with some common APIs of use to IDEs and other tools that may need to evaluate Clojure code in remote environments.