Installing Slime

Slime is an emacs mode for interacting with Common Lisp systems.

The most convenient way to obtain SLIME with Clozure CL is to use Quicklisp's quicklisp-slime-helper. First, install Quicklisp (visit if you don't already have Quicklisp in your environment). Then, in your Quicklisp-enabled CCL session, do:

(ql:quickload :quicklisp-slime-helper)

This will download the needed lisp and emacs modules and will give instructions for setting up your Configuration.

Note: The Quicklisp distributions (along with Slime components) are updated on a monthly basis, so it is typically no longer necessary to download Slime from the CVS repository as described in the Legacy instructions below.

Legacy Installation and Configuration Instructions

The SLIME developers [used to] recommend that users download the CVS version. It changes often and usually for the better. The emacs and lisp sides (the lisp side is known as Swank) need to be in kept in sync, since the protocol they utilize is volatile.


If you don't already have one, create a file called .emacs in your home directory. On Windows systems, it's not always clear what emacs thinks your home directory is. You can type C-x C-f and use "~/.emacs" as the file to find and you'll end up in the right place. (That works on Unix systems, too, of course.)

Add the following code fragments to your .emacs file to configure Slime to work with Clozure CL, using UTF-8 as the default encoding.

(set-language-environment "utf-8")

(add-to-list 'load-path "~/src/slime/")  ;or wherever you put it

;;; Note that if you save a heap image, the character
;;; encoding specified on the command line will be preserved,
;;; and you won't have to specify the -K utf-8 any more.
(setq inferior-lisp-program "/usr/local/bin/ccl64 -K utf-8")

(require 'slime)
(setq slime-net-coding-system 'utf-8-unix)
(slime-setup '(slime-fancy))

With this in place, you should be able to start up SLIME with M-x slime, and print and read Unicode characters:

CCL> (format t "~c" #\u+2021)
CCL> (format t "~c" #\skull_and_crossbones)
CCL> (defparameter language '日本語)
CCL> language

Other Slime Information is a set of slides from a talk given by Tobias-Christian Rittweiler (who is a Slime contributor).

Last modified 9 years ago Last modified on Jan 11, 2013, 2:21:10 PM