Add Practical Work in Emacs + Other Updates
[kill9.git] / emacs / Practical_Work_In_Emacs / lisp.md
1 # Lisp in emacs
2
3 ### This page is subdivided into 2 sections, as there are 2 lisps which really shine when developing in Emacs [^1]
4
5 # Pre-everything else:
6
7 Install [Paredit](https://www.emacswiki.org/emacs/ParEdit), [Smartparens](https://github.com/Fuco1/smartparens), or [Lispy](https://github.com/abo-abo/lispy). You can find documentation for these somewhere on the internet[^2], or some other place.
8
9
10 # Scheme
11
12 Install geiser and run it with the Scheme implementation of your choice. If you cannot eval a file, press C-c C-s inside of that file and choose the Scheme implementation you chose.
13
14 # Common Lisp
15
16 Install [SLIME](https://github.com/slime/slime) or [SLY](https://github.com/joaotavora/sly)[^3] and configure them.
17
18 Configuring SLIME:
19
20 Add this to your .emacs.d/init.el or .emacs
21 ```
22 (load (expand-file-name "~/quicklisp/slime-helper.el")) ;; If you're using quicklisp
23 (setq inferior-lisp-program "your-lisp-implementation") ;; Probably Clozure CL or SBCL
24 ```
25
26 Configuring SLY:
27
28 Literally just add your inferior lisp program into your .init.el:
29 `(setq inferior-lisp-program "your-lisp-implementation")`
30
31
32
33 [^1]: The other lisp which is commonly pointed to as a good development experience in emacs, and which shall not be named, is on the JVM, and we will not be covering it here.
34 [^2]: Except for paredit, which I linked the documentation for as the main link.
35 [^3]: The creator of this article recommends SLY more than SLIME as it is a lot more modern and simpler to use.