Difference between revisions of "Common Lisp"

From WikEmacs
Jump to navigation Jump to search
(→‎Community: add CL Cookbook)
(add CL category)
Line 51: Line 51:
[[Category:Common Lisp]]

Latest revision as of 11:10, 25 October 2018

Emacs ships with a lisp-mode for Common Lisp that supports basic stuff like indentation, S-expression navigation and font-locking.

Portacle, a portable and multiplatform development environment

See Portacle, the portable and multiplatform development environment for Common Lisp. It's the easiest way to get SBCL + Emacs + Slime + Quicklisp + Git.

SLIME, the Superior Lisp Interaction Mode for Emacs

If you're doing serious Common Lisp development you should have a look at the complementary SLIME, which gives you the ability to develop Lisp programs interactively.

Slime hydra: interactive Slime menus

And you can discover and call more easily Slime commands with slime-hydra. See what are Hydras.


Sly is a Slime fork targetting Emacs24.3 and onwards, following more closely the Elisp commands and environment. Thus the keyboard shortcuts are different from Slime and similar to Elisp, the Sly prompt is based on Emacs' comint on the contrary of Slime's.

Where SLIME has traditionally focused on the stability of its core functionality, SLY strives to bring to the table, by default, a richer feature set brought together by a consistent user interface.

Print the result of the sexp at point below in a comment

If you feel like it, this is a way to make the experience even more interactive: https://gist.github.com/chebert/e8e54bac7d9c21c056433cc9fc956317

Working with parenthesis

Parinfer helps to keep both indentation and parens balanced. It is straightforward to begin with, and yet opens the road to advanced features (similar to paredit). It has modes for various editors, emacs' one are in melpa.

See also Lisp_editing for various plugins.

Live interaction of Parenscript with the browser

trident-mode is an emacs mode to write Parenscript (Common Lisp that compiles to Javascript) interactively with the browser. Write a function, evaluate it and send it to the browser. It works with non-local browsers too.



Emacs plugins

See also lisp_editing for various plugins to edit lisp code.