CCRMA Home
News and events
General information
Research overview
Course offerings
Software
Industrial affiliates
User's guides and FAQs
Musical acoustics research library
User homepages
Web resources


Center for Computer Research in Music and Acoustics

Common Lisp

"lisp" is a general purpose interpreted / compiled computer language. There are several software packages written in Common Lisp that are being actively developed and used at ccrma:

CLM (Common Lisp Music)
a sound synthesis and signal processing package.
CM (Common Music)
a score creation and algorithmic composition package that can also control CLM instruments.
CMN (Common Music Notation)
a common music notation score creation package.

Reference Materials
Some pointers to useful resources on the Web:

A Quick Tour of LispLand
a very simple description of some basic concepts of lisp, starting from scratch.
The Steele Common Lisp book
the official bible of Common Lisp, here you can find everything you need to know about Common Lisp. This is definitely not a tutorial.
Emacs cheat sheet
the most commonly used emacs and xemacs commands

Here's information specific to which Common Lisp is supported in each of the ccrma platforms and operating systems:

NextStep running on NeXT hardware
The Common Lisp currently supported on NeXT hardware (normaly called black hardware) is Allegro Common Lisp or ACL for short, version 3.1.20 (from Franz Inc.). This is the Common Lisp that was originally bundled with black hardware and has been tweaked to run on newer versions of the operating system.

This is a perfectly adequate Common Lisp, its only disadvantage is that black hardware is quite slow by today's standards. But of course there are still plenty of black machines running at CCRMA. If you are not in a hurry and you can't find a faster machine that is free, this is the one to go for...

NextStep running on Intel hardware
The Common Lisp currently supported on Intel hardware runnning NextStep is Gnu Common Lisp (gcl) version 1.1 (from Franz Inc.). This is a free implementation of Common Lisp and is distributed under the gnu license, it is adequate but inferior in terms of debugging capabilities to Alegro Common Lisp.

Linux running on Intel hardware
The Common Lisp currently supported on Intel hardware running Linux is Allegro Common Lisp or ACL for short, version 4.3 (from Franz Inc.)

Irix running on SGI hardware
The Common Lisp currently supported on SGI hardware running Irix is Allegro Common Lisp or ACL for short, version 4.3 (from Franz Inc.).

How to run Common Lisp at CCRMA...
The currently recommended way to run Common Lisp at CCRMA is to start lisp as a subprocess inside a buffer of the emacs or xemacs text editor.

Before trying to run Common Lisp inside emacs make sure that you have a ".emacs" file in your home directory and that it contains the proper incantations to set up the correct environment for each platform (here's a template you can copy to your home directory). Once that is correctly set up just typing "x" "l" will start the Common Lisp of your choice.

Common Lisp images
A Common Lisp image is an executable file that contains a complete base Common Lisp system plus compiled packages such as Common Lisp Music or Common Music. On all supported platforms (currently NextStep running on black hardware and PCs, Linux and Irix) there are two links that always point to a properly compiled Common Lisp environment for the current platform and operating system:

/usr/ccrma/lbin/clm
contains the base Common Lisp system plus the precompiled CLM (Common Lisp Music) package.
/usr/ccrma/lbin/cm
contains the base Common Lisp system, CLM (Common Lisp Music) and CM (Common Music).

Which particular brand of Common Lisp is run is determined by the platform and operating system you are running on.

©1996-2000 CCRMA, Stanford University. All rights reserved.