18

in which slime and mire and other sludges come into play

 3 years ago
source link: https://technomancy.us/122
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

I've been getting into Clojure more and more recently, and it's been really enjoyable. My learning project is Mire, a simple multiplayer text adventure. It's a great way to get familiar with the concurrency features of Clojure with a codebase that can still pretty small due to being text-based.

Using SLIME to interactively develop Mire from within Emacs has been really slick—the level of interactivity is really impressive. The problem is, it's a bit of a bear to configure, and there are more moving parts than I'm comfortable with. I'm not the only one either; one of the most common questions in the #clojure channel is how to configure SLIME.

Update: This is very out-of-date. The Swank Clojure readme is the canonical source of getting started instructions.

I've worked on a bit of code to alleviate the confusion. There's nothing about the problem that's particularly tricky; it's just that the necessary code is changing so fast that using a package manager for it isn't feasible. And installing software by hand without a package manager… well let's just say it's fraught with frustration. So I've added an M-x clojure-install function to by fork of clojure-mode that should handle the necessary checkouts and configuration. It should save a lot of confusion for folks who are just getting started and not really sure of the best way to proceed.

Update: If you use the Emacs Starter Kit, you've already got what you need; just hit M-x clojure-install to get going. And it should be in ELPA before too long.

Update: M-x clojure-install has been merged into the mainline clojure-mode repository, so you don't need to use mine any more.

Update: It's been a long time since this post was written; in the mean time Clojure has had two stable releases and a package manager created, so compiling from source as the default installation mechanism doesn't make sense any more. M-x clojure-install has been deprecated in favour of built-in functionality in swank-clojure

.

Update: Good grief; now even swank-clojure itself is deprecated. Try Monroe with the nREPL protocol.

« older | 2009-02-03T04:41:09Z | newer »

All posts | Résumé | Projects | Talks | Colophon | Technomancy is © 2004 – 2020 Phil Hagelberg


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK