Jetlag

Flew into San Jose last night. Been up for a couple hours, looking at the javascript that drives the distance calculations for AstroEmpires and catching up on Slashdot, FreshMeat and various other sites.

So, yeah, San Jose airport, Sunnyvale, the suburbia wasteland where everyone runs an it company. Google – Summer Of Code </reverb> coming to a theater near you. (I was a mentor for BRL-CAD this time around.

LISP

In an attempt to be semi-useful instead of engaging in typical blog self-wankery, I will endeavor to provide possibly useful information. *boggle*

SBCL on my hackintop; my story.

When I’m not at work, my computer of choice is a 17″ macbook pro running 10.4 (at work, it’s an 8 core mac pro with 32g ram, a 30″ display, and two 23″ displays.. they spoil me). So running an SBCL image with hunchentoot and swank and all that goodness seems… well, kind of important. It’s shakey, but I’m guessing a lot better than it was during the reddit debacle. Given that my environment is so damn similar, I found the saga… intriguing.

I’ve given up on fink and mostly live in macports these days. A little UNIX injection makes osX much nice. Naturally, you need sudo (or root) access.


/$ sudo port
MacPorts 1.700
Entering interactive mode… (“help” for help, “quit” to quit)
[/] >
We want to install, SBCL, but we need to use a variant. We require threading for it to be useful (I imagine this brings us to the ‘experimental’ area, but that’s ok. This is a dev box, not a production box.) We have to add the threads variant. After doing an “info sbcl”, I saw it, but my first couple guesses on how to invoke it were wrong, thus; manual time. A space is required between the package and the variant arguments.

> install sbcl threads
Ho hum, go get a cup of coffee, tee, mountain dew, vodka, whatever… Once it’s installed, I discovered that the Emacs that ships with osX is feeble, soo back in ports for “> install emacs x11”. I don’t bother with the macports version of slime.

In my $HOME/src/ directory (where I put all the source code that is not mine), I check out slime I also check out some ucw stuff and detachtty, but that doesn’t matter.

I add the slime binding to my $HOME/.emacs file


(add-to-list ‘load-path “~/src/slime”) ; your SLIME directory
(setq inferior-lisp-program “/opt/local/bin/sbcl”) ; your Lisp system
(require ‘slime)
(slime-setup)
and create a symlink for ASDF with a quick “mkdir -p $HOME/.sbcl/systems ; ln -s $HOME/src/slime/*.asd $HOME/.sbcl/systems/” and fire up SBCL.

One SBCL is running, I need all those shiney libraries. ASDF-INSTALL will grab all the ones I feel I need at the moment, so “(require ‘asdf)” followed by “(require ‘asdf-install)” gets my image to that happy place. Given what I’ve been poking with lately, “(asdf-install:install ‘hunchentoot)” would be sufficient, with its big dependency chain. You can see what asdf packages you have installed by looking in $HOME/.sbcl/systems. With that done, all those linux-centric tutorials for hunchentoot suddenly become viable on osX.


Last modified on August 14, 2012. This entry was posted in Uncategorized and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published.