Skip to content
/ nrepl Public

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.

Notifications You must be signed in to change notification settings

nrepl/nrepl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nREPL Logo


CircleCI Spell-check Status Clojars Project cljdoc badge Downloads Backers on Open Collective Sponsors on Open Collective

nREPL is a Clojure network REPL that provides a REPL 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.

nREPL powers many well-known development tools.

Usage

  • Start an nREPL server (e.g. with lein repl)
  • Connect to the server using any nREPL client (e.g. CIDER, Calva, vim-fireplace)
  • Start hacking!

See the documentation for way more information on the subject.

API Documentation

You can find nREPL's API documentation on cljdoc.

Status

Extremely stable. nREPL's protocol and API are rock-solid and battle tested. nREPL's team pledges to evolve them only in backwards-compatible ways.

All experimental features are marked explicitly as such in nREPL's documentation, but even those are fairly stable by most standards.

FAQ

How is this different from the "contrib" tools.nrepl project?

Check the brief history of nREPL, available here.

How does nREPL compare to other REPL servers (e.g. prepl)?

Check out this detailed comparison.

Does nREPL support ClojureScript?

Yes and no. The reference nREPL implementation is Clojure-specific, but it can be extended with ClojureScript support via the Piggieback middleware. In the future there may be implementations of nREPL that target ClojureScript directly.

Does nREPL support other programming languages besides Clojure?

The nREPL protocol is language-agnostic and implementations of nREPL servers exist for several programming languages. Implementing new nREPL servers is pretty simple.

Testing and Hacking around

See Hacking on nREPL.

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

License

Copyright © 2010-2024 Chas Emerick, Bozhidar Batsov and contributors.

Licensed under the EPL. (See the file epl.html.)