Difference between revisions of "Slime"

From ArchWiki
Jump to: navigation, search
(Remove out-of-date flag, replace link to .install file)
(30 intermediate revisions by 15 users not shown)
Line 1: Line 1:
Here is one way to get a lisp programming environment using emacs and slime and sbcl.
+
[[Category:Development]]
 +
== Introduction ==
  
emacs - editor
+
[http://www.common-lisp.net/project/slime/ SLIME] (Superior Lisp Interaction Mode for [[Emacs]]) provides a development environment for [http://www.sbcl.org SBCL] (detailed in this article), [http://www.cons.org/cmucl/ CMUCL], [http://clisp.cons.org/ CLISP] and other [http://en.wikipedia.org/wiki/Lisp_(programming_language) Lisp] implementations.
  
slime  - lisp mode for emacs
+
The components required are:
  
sbcl   - a common lisp implementation
+
* '''emacs'''
 +
* '''sbcl'''
 +
* '''slime'''
  
To get excited about lisp and programming: www.paulgraham.com is reccomended.
+
== Installation ==
 +
[[Pacman|Install]] {{Pkg|emacs}} and {{Pkg|sbcl}} from the [[official repositories]] and {{AUR|slime-cvs}} from the [[AUR]].
  
www.cliki.org is a great lisp site
+
== Configuration ==
  
pacman has emacs and sbcl packages:
+
''From the [http://pkgbuild.com/git/aur-mirror.git/plain/slime-cvs/slime.install .INSTALL] file.''
#  su - root
+
 
# pacman -Sy emacs sbcl  (say yes)
+
To make use of slime, add the following lines to your [[Emacs#Customization|init file]]:
# cd /home/userX
+
 
# wget http://aur.archlinux.org/packages/slime/slime.tar.gz
+
  (setq inferior-lisp-program "/path/to/lisp-executable")
# tar xzvf slim--.tar.gz
+
(add-to-list 'load-path "/usr/share/emacs/site-lisp/slime/")
#cd slime
+
(require 'slime)
#makepkg
+
(slime-setup)
#pacman -U slime-XX.tar.gz
+
 
+
Then run {{Ic|M-x slime}} from within emacs.
Now to setup emacs to use slime by creating a .emacs file:
+
 
change user to userX and in /home/userX to create your .emacs file, vi .emacs; mine is:  
+
Alternatively, for a fancier slime setup, you can change the above lines to:
# vi .emacs (now paste the below into this file, changing g to whatever you userX is, then ESC, :wq to save, apologies if you are a vi whiz!)
+
 
  (setq inferior-lisp-program "/usr/bin/sbcl")
+
(setq inferior-lisp-program "/path/to/lisp-executable")
  (add-to-list 'load-path "/home/g/slime/pkg/usr/share/emacs/site-lisp/slime/")
+
(add-to-list 'load-path "/usr/share/emacs/site-lisp/slime/")
  (require 'slime)
+
  (require 'slime)
  (slime-setup)
+
(slime-setup '(slime-fancy))
+
 
--my userX is g, and /usr/bin/sbcl is path to steel bank common lisp (switch to clisp or CMU lisp if you like, which are other great common lisp implementations)
+
== Resources ==
   
+
 
--then save [:wq], and [emacs & enter] to launch emacs, [ALT-x slime -return-] to enter slime mode, which takes like 10s to load, and there you are a nice working lisp dev environment. Emacs has its own tutorial built in and www.sbcl.org has info on sbcl..enjoy..
+
* [http://www.cliki.net/ The Common Lisp wiki]
 +
* [http://www.gigamonkeys.com/book/ Practical Common Lisp]
 +
* [http://mitpress.mit.edu/sicp/full-text/book/book.html Structure and Interpretation of Computer Programs]
 +
* [http://www.paulgraham.com/lisp.html Paul Graham's Lisp resources].

Revision as of 19:00, 22 October 2013

Introduction

SLIME (Superior Lisp Interaction Mode for Emacs) provides a development environment for SBCL (detailed in this article), CMUCL, CLISP and other Lisp implementations.

The components required are:

  • emacs
  • sbcl
  • slime

Installation

Install emacs and sbcl from the official repositories and slime-cvsAUR from the AUR.

Configuration

From the .INSTALL file.

To make use of slime, add the following lines to your init file:

(setq inferior-lisp-program "/path/to/lisp-executable")
(add-to-list 'load-path "/usr/share/emacs/site-lisp/slime/")
(require 'slime)
(slime-setup)

Then run M-x slime from within emacs.

Alternatively, for a fancier slime setup, you can change the above lines to:

(setq inferior-lisp-program "/path/to/lisp-executable")
(add-to-list 'load-path "/usr/share/emacs/site-lisp/slime/")
(require 'slime)
(slime-setup '(slime-fancy))

Resources