Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
68 lines (58 sloc) 3.34 KB
# -*- html -*-
timestamp: Mon 16 May 2011 09:02:23 PM PDT
title: in which radical simplification ensues
tags: clojure, emacs
id: 149
content: |-
<p>While Emacs support has come a long
way <a href="">since
I first got started with Clojure</a>, I'm reminded every time I
help newbies get set up that there are still way too many moving
parts. This is in part due to the fact that things center around
<a href="">SLIME</a>, a tool
which was originally developed to work with Common Lisp. SLIME
doesn't have stable releases; the developers expect everyone to
run from CVS trunk (I wish I were joking), so I had to do some
ad-hoc packaging just in order to prevent constant breakage. But
synchronizing compatible versions between two separate package
managers on two separate runtimes is a headache.</p>
<p>I've cooked up something much simpler for the next swank-clojure release:</p>
<video width="640" height="416" controls>
<source src="v/slime-in-60-seconds.mp4" type='video/mp4; codecs="avc1.42E01E"' />
<source src="v/slime-in-60-seconds.webm" type='video/webm; codecs="vp8"' />
<source src="v/slime-in-60-seconds.ogv" type='video/ogg; codecs="theora"' />
<p>[<a href="v/slime-in-60-seconds.mp4">download video</a>]</p>
<p>This makes it possible for a single piece of elisp to bootstrap
an entire SLIME environment. It's also set up so it can be
extensible&mdash;if a project like <a href="148">Slamhound</a>
wants to distribute an elisp library, it will be able to be loaded
automatically upon connecting SLIME. The number of steps is
reduced to three:</p>
<li>Install <a href="">clojure-mode</a>
via <a href="">Marmalade</a> or from git.</li>
<li><kbd>lein plugin install swank-clojure 1.3.1</kbd></li>
<li>Invoke <kbd>M-x clojure-jack-in</kbd> from a project</li>
<p>The video uses swank-clojure 1.4.0-SNAPSHOT, which
includes <a href="">some
new debugging features</a>, but the most stable release (1.3.1 as
noted above) will also work. Hopefully this eases a few headaches!</p>
<p><b>Update</b>: Right now there are known issues with having
multiple versions of swank-clojure present, both
in <tt>lib/dev</tt> and <tt>~/.lein/plugins</tt>, so check to make
sure they aren't conflicting. This will be fixed in the next
version of Leiningen. It's probably best to remove swank-clojure
from :dev-dependencies in project.clj entirely and have each user
who wants to use swank install it as a local plugin instead.</p>
<p><b>Update</b>: swank-clojure is now deprecated; you are
encouraged to
use <a href="">nrepl.el</a>
instead, which is much simpler to install and use.</p>
<p>If you have issues, please post to
the <a href="">swank-clojure
mailing list</a> or
open <a href="">a
github issue. Blog comments are a lousy place for bug reports.</p>
Jump to Line
Something went wrong with that request. Please try again.