Frequently Asked Questions
What’s the relationship between CIDER and nrepl.el?
nrepl.el
was renamed to CIDER in version 0.3 to avoid confusion with the nREPL
server itself and to better reflect the fact that CIDER is way more than an
nREPL client for Emacs. Additionally, the new name presents us with the
opportunity to support alternative evaluation backends (e.g. the socket REPL
introduced in Clojure 1.8) down the road.
What’s the relationship between CIDER and monroe?
monroe is basically a fork of an old CIDER version before the time we started relying on nREPL middleware. Monroe opted for a simpler UX, that’s very REPL-centric, and uses only built-in nREPL ops (unlike CIDER, which relies on cider-nrepl heavily).
What’s the relationship between CIDER and inf-clojure?
There’s pretty much no relationship, other than the fact they have the same
author (Bozhidar). inf-clojure provides a
REPL based on the comint
Emacs package - you’re basically running an external
REPL process inside of Emacs (there’s no network connectivity involved). The
advantage of this is that you have no external dependencies what-so-ever - you
just need some command to start a REPL process for you (e.g. lein repl
).
Isn’t IntelliJ’s Cursive the best Clojure IDE?
Cursive is pretty awesome! Depending on your programming preferences (using an IDE vs building a custom editing experience tailored to your needs) it might be a better option for you than CIDER.
What’s the deal with the CIDER release codenames?
The codenames are usually some of the favourite places of CIDER’s head maintainer (Bozhidar).
Bozhidar really loves Spain and the West Coast of the US, so he tends to name really special releases with codenames related to them (e.g. Seattle, California, Andalucia, etc). |
Why is CIDER’s website using a .mx domain?
Because that’s the perfect domain for Emacs projects.
Is using CIDER a good idea if I’m new to both Emacs and Clojure?
There’s nothing particularly complex in CIDER itself, but getting to grips with Emacs might be a bit challenging for some people.
Generally you can simplify the initial learning experience a lot by using some Emacs "starter kit" and picking up a good book on Emacs (e.g. Mastering Emacs).
Prelude is maintained by the primary CIDER author himself, while
Spacemacs is an excellent option for vim refugees (as it places a heavy emphasis
on vim emulation via evil-mode
).
Do stable CIDER releases follow some predefined cadence?
No. Stable releases are issued when the maintainers feel a new release is warranted. The maintainers generally aim to deliver at least 2-3 stable releases per year.
Does CIDER have a roadmap?
There’s no precise roadmap, but there are a few major goals for the (near) future:
-
improve session management (make it simpler and more predictable)
-
reach parity between the functionality for ClojureScript and Clojure (as it stands today a lot of functionality is Clojure-only)
-
integrate the most important refactoring functionality from our sibling project clj-refactor into CIDER.
You can find more details in our roadmap document.
If you’d like to tackle some item from the roadmap, Bozhidar will happy to help and guide you along the way. |
Is it true that stable CIDER releases often happen around major Clojure conferences?
Yep. We want to give people a reason to talk about CIDER at such events. :-)
Inviting Bozhidar or any other core CIDER developers to present at Clojure conferences is likely going to results in more CIDER releases, so you should totally do this! |
How unstable is the MELPA (snapshot) build of CIDER?
It’s pretty stable. Serious regression are introduced rather rarely and are usually fixed within a few hours. Using the MELPA build gives you early access to new features and you’re also helping the maintainers with the testing process.
Can I downgrade CIDER from a snapshot build to the latest stable version?
Yes, you can. You just need to remove the cider
package, pin cider
to MELPA Stable
and reinstall it. Basically you need to do the following:
-
M-x package-remove cider
-
Add
(add-to-list 'package-pinned-packages '(cider . "melpa-stable") t)
to your Emacs config -
Restart Emacs (or reload your config)
-
M-x package-install cider
Can I downgrade CIDER to a specific stable version?
No, you can’t. Unfortunately package.el
doesn’t support the concept of historical versions of a package -
there’s always only one version that’s available - the latest one.
Will CIDER eventually support the Clojure 1.8 socket REPL?
Maybe. Our focus remains making the most out of nREPL, but down the road we might explore investing some time in adding support for additional REPL servers.
There’s more information about the work that needs to be done in our roadmap document. |
Will CIDER eventually support the Clojure 1.10 prepl?
Same answer as above. One thing is certain - prepl is much more convenient for the purposes of CIDER than the plain socket REPL.
Is CIDER’s nREPL middleware Emacs specific?
Not at all. The functionality in cider-nrepl
is pretty editor-agnostic and is
utilized by various editor plugins. Some prominent examples would be
vim-fireplace
and Visual Studio Code’s calva
.
Are there any interesting CIDER add-ons worth checking out?
Sure! See additional packages for details.
Where can I get help regarding CIDER?
See the Support section of the manual.
What should I do if I run into some issues with CIDER?
Don’t panic! Next step - visit the Troubleshooting section of the manual.
How can I help the project?
There are many ways in which you can help CIDER
-
Donate funds
-
Work on improving the documentation
-
Solve open issues
-
File bug reports and suggestions for improvements
-
Promote CIDER via blog posts or at meetups and conferences
-
Invite members of the CIDER team to speak about CIDER at meetups and conferences