MIT/GNU Scheme in OS X

Apple-logoI’ve not mentioned this previously, but I bought a Macbook Air a few months back and it’s one of the greatest purchases I have ever made. I love this thing! It is so damned sexy (observing both its hardware and software), and so damned fast. I picked-up the baller, 13″ model with the Core i7 processor and 256 GB solid-state drive … it’s portable personal computing perfection! The more Apple products I buy (and, I’ve now accumulated quite a few), the fewer reasons I can produce to not dedicate future technology spend to Cupertino. </rant>
Macbook Air in-hand (or, more appropriately, surgically fused to my hands!) and pursuing Lisp (and Scheme) as a new programming language (dialect), I needed to install MIT/GNU Scheme on my constant companion — more specifically, I wanted to install it in such a way that I can run Scheme / Lisp programs from the shell without having to fire-up the X-Windows application that is installed by the package by default (“Edwin”). A relatively straightforward process, although not particularly well-documented.
Steps to complete are below:

  • Download the OS X binary for MIT/GNU Scheme from the GNU site here.
  • Mount the binary disk image and copy the appropriate files from the disk image to /usr/local/lib

It is worth pausing here to note that one may have to create this path, as I did.  Commands to create and then copy the files are below:
$ sudo mkdir /usr/local/lib/mit-scheme-x86-64
$ sudo cp -R /Volumes/MIT\:GNU\ Scheme/MIT\:GNU\ Scheme.app/Contents/Resources/ /usr/local/lib/mit-scheme-x86-64/

  • Create a symbolic link — scheme — to the newly installed mit-scheme binary

$ sudo ln -s /usr/local/lib/mit-scheme-x86-64/mit-scheme /usr/bin/scheme
This last step is critical in fully integrating Scheme into the shell, as one would expect it to be after installing it in a Unix environment.
Onward to Lisp hacking greatness!
Postscript:  I’m using the Lisp-in-a-Box IDE distributed by the Common Lisp software repository in OS X as my platform for development in Common Lisp in parallel … learn both dialects simultaneously — seems prudent!