Difference between revisions of "Slime"

From ArchWiki
Jump to: navigation, search
m (Do not use -Sy when installing packages)
(Remove out-of-date flag, replace link to .install file)
(16 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{stub}}
+
[[Category:Development]]
[[Category:Development_(English)]]  
+
== Introduction ==
==Introduction==
+
Here is one way to get a lisp programming environment using emacs and slime and sbcl.  Common Lisp was used to build viaweb by Paul Graham with 3 coders in 1995.  It sold to yahoo for 50M us $ and became yahoo store.  Lisp also powers orbitz.com.  Other Lisp resources include scsh, drscheme, the book SICP, and Practical Common Lisp by Peter Seibel(free online), as well as ANSI common lisp and On lisp(free online) by Paul Graham.  A gentle introduction to symbolic computation by Touretsky is free online as well. Happy hacking!
+
  
* '''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
+
* '''sbcl''' - a common lisp implementation (clisp is another good one, just substitute clisp for sbcl in the following)
+
  
==Installation==
+
The components required are:
The Arch repositories have emacs and sbcl packages:
+
# <code>$ su - root</code>
+
# <code># pacman -S emacs sbcl</code>
+
# <code># cd /home/userX</code>
+
# <code># wget http://aur.archlinux.org/packages/slime/slime.tar.gz</code>
+
# <code># tar xzvf slim--.tar.gz</code>
+
# <code># cd slime</code>
+
# <code># makepkg</code>
+
# <code># pacman -U slime-XX.tar.gz</code>
+
  
'''Note:''' as an alternative to steps 3-8, you can install the slime-cvs package instead of going through AUR:
+
* '''emacs'''
<code> pacman -S slime-cvs
+
* '''sbcl'''
 +
* '''slime'''
  
==Configuration==
+
== Installation ==
Now to setup emacs to use slime, change user to userX and go to /home/userX. Now to edit your .emacs file, run:
+
[[Pacman|Install]] {{Pkg|emacs}} and {{Pkg|sbcl}} from the [[official repositories]] and {{AUR|slime-cvs}} from the [[AUR]].
$ vi .emacs
+
 
Now paste the below into this file, changing <code>g</code> to whatever you userX is.
+
== Configuration ==
  (setq inferior-lisp-program "/usr/bin/sbcl")
+
 
  (add-to-list 'load-path "/home/g/slime/pkg/usr/share/emacs/site-lisp/slime/")
+
''From the [http://pkgbuild.com/git/aur-mirror.git/plain/slime-cvs/slime.install .INSTALL] file.''
 +
 
 +
To make use of slime, add the following lines to your [[Emacs#Customization|init file]]:
 +
 
 +
  (setq inferior-lisp-program "/path/to/lisp-executable")
 +
  (add-to-list 'load-path "/usr/share/emacs/site-lisp/slime/")
 
  (require 'slime)
 
  (require 'slime)
 
  (slime-setup)
 
  (slime-setup)
  
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). '''Note:''' if you installed slime-cvs instead of the package from AUR, <code>load-path</code> should be set to <code>/usr/share/emacs/site-lisp/slime/</code>
+
Then run {{Ic|M-x slime}} from within emacs.
  
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..
+
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))
  
==For 64-bit==
+
== Resources ==
*As root: pacman -S emacs clisp
+
*wget slime from slime website
+
*chown -R user: /usr/bin/clisp and slime dir
+
*untar slime, follow readme by creating .emacs file in your users home....
+
*start emacs, ALT-x slime
+
  
==External Resources==
+
* [http://www.cliki.net/ The Common Lisp wiki]
*To get excited about lisp and programming: http://www.paulgraham.com is recommended.
+
* [http://www.gigamonkeys.com/book/ Practical Common Lisp]
*http://www.cliki.net is a great lisp site
+
* [http://mitpress.mit.edu/sicp/full-text/book/book.html Structure and Interpretation of Computer Programs]
*http://www.gigamonkeys.com/book/ has an intro to Common Lisp and SLIME, and goes through the whole LISP language, giving practical examples
+
* [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