Can someone explain all the differences in the various lisp modes (inferior, superior, slime, cider)? Which came first? Which are extra packages? What should one use?
-
Please clarify which lisp you'd like to use. If it's common lisp, you're probably going to use `slime`; if it's clojure, then `cider`. You're unlikely to want to interact directly with `inferior-lisp-mode`, as it's going to be much more bare-bones by comparison (that is, of course, unless you *want* bare-bones). – Dan Aug 04 '15 at 17:05
-
I'm looking for which lisp applies to which mode. – Justin Thomas Aug 04 '15 at 17:13
1 Answers
When you run a process inside Emacs, that process is "inferior" (i.e. a subprocess).
IELM M-x ielm is the builtin Inferior Emacs Lisp Mode. It's relatively featureless, but can definitely come in handy. (Esp. for learning Elisp)
SLIME, the Superior Lisp Interaction Mode for Emacs, is mostly a joke on the whole "inferior" process name. SLIME is used primarily for Common Lisp (although it can be used with other lisps to varying degrees via extensions). It boasts a large variety of "superior" functions, including debugging, interactive REPLs, and various IDE like functions.
CIDER, the Clojure Interactive Development Environment that Rocks for Emacs, is something like SLIME but for Clojure. (Clojure itself being a rather curious lisp that needs some extra work to interface with)

- 10,243
- 2
- 29
- 75
-
Does using C-x C-e send to the proper mode depending on file type? – Justin Thomas Aug 04 '15 at 17:13
-
@JustinThomas not really sure what you mean, I don't run any of these myself. – PythonNut Aug 04 '15 at 17:15
-
Basically C-x C-e evaluates a lisp expression, was wondering if you are in a file of type .clj (clojure) and use it if it evaluates the clojure code--seems to be that it does. My cider is just broken, which is part of my confusion. – Justin Thomas Aug 04 '15 at 17:19
-
1
-
2You probably want to add Emacs Lisp interpreter (IELM) as another bullet point. `C-x C-e` in programming modes, is typically bound to sending the preceding expression to the interpreter for that language, and, in particular, this is true for Emacs Lisp, where Emacs itself acts as an interpreter. – wvxvw Aug 04 '15 at 19:42
-
@JustinThomas Yes, `C-x C-e` will work in SLIME, CIDER, and also Geiser (for Guile/Chicken/Racket Scheme), and others. – nanny Aug 04 '15 at 21:00
-
@PythonNut You seen hy yet? Clojurey lisp for Python... https://github.com/hylang/hy – 24HrRevengeTherapist Oct 20 '15 at 18:13
-
1@24HrRevengeTherapist I have not, but that looks ridiculously awesome. – PythonNut Oct 20 '15 at 18:20
-
@PythonNut Yeah, I am using it for data science and it works as well as Python. The community is super nice and listens to feedback if you have any. – 24HrRevengeTherapist Oct 20 '15 at 18:39
-
2Note that the Scheme equivalent of these tools is [Geiser](http://www.nongnu.org/geiser/). – Wilfred Hughes Feb 19 '17 at 14:55