OpenMCL 0.14.3 review

by on

OpenMCL is an opensourced Common Lisp implementation, licensed under a Lisp-specific variant of the LGPL, and derived from Digitool's

License: LGPL (GNU Lesser General Public License)
File size: 4396K
Developer: Digitool, Inc. and Gary Byers
0 stars award from

OpenMCL is an opensourced Common Lisp implementation, licensed under a Lisp-specific variant of the LGPL, and derived from Digitool's MCL product. Versions are available for LinuxPPC and for Darwin , the BSD/Mach layer on which MacOSX is based.


OpenMCL runs under relatively recent versions of LinuxPPC . It requires version 2.2.13 (or later) of the Linux kernel and version 2.1.3 (or later) of the GNU C library (glibc). It's been reported that OpenMCL runs reliably under version 2.4 of the Linux kernel.

OpenMCL binary releases are distributed as 'gzip'ed tar archives whose names are of the form "openmcl-PLATFORM-bin-x.y.tar.gz", where "PLATFORM" is one of "linuxppc" or "darwinppc" and "x" and "y" are major/minor version numbers. Some of the major things which binary releases contain are:

* the OpenMCL kernel: "ccl/ppccl" for LinuxPPC, "ccl/dppccl" for DarwinPPC
* the OpenMCLinitial heap image: "ccl/PPCCL" for LinuxPPC, "ccl/dppccl.image" for DarwinPPC
* ccl/README-openmcl-bin-x.y
* ccl/scripts/openmcl

OpenMCL source releases are also distributed as 'gzip'ed tar archives whose names (not surprisingingly) are of the form "openmcl-src-x.y.tar.gz". These are archives of a checked-out copy of the OpenMCL CVS tree as of the corresponding binary release. Source releases contain:


and quite a few other things; e.g., they're intended to create and/or populate the same ccl directory.

So, release tar.gz archives should be extracted from the directory that is or will be the parent of the

ccl directory; if you'd prefer to obtain OpenMCL sources via CVS the cvs get command should be issued from the parent directory as well. (The CVS -d option and GNU tar's -C option can also be used, but the intent is that sources and binaries wind up in the same ccl directory.)

For example, assuming that one wants to make the ccl directory be "~/lisp/ccl":

1. Download the binary release archive.

> cd ~/lisp

2. Do something like:

> tar foxvz openmcl-PLATFORM-bin-x.y.tar.gz

That should create (or update the contents of) ~/lisp/ccl.

You could then either (a) repeat the process with the corresponding source release archive, or (b) having done a "cvs login" to the CVS server at some point, issue a "cvs get" from ~/lisp.

It's possible to use the OpenMCL binaries without having installed the sources, but some functionality (like non-trivial usage of the LOOP macro) is autoloaded.

After having installed a binary release for the first time, you should consider installing the OpenMCL shell script .

It's possible (and, assuming the use of NFS or something similar, quite useful) to "share" the same directory between Linux and Darwin.

Note that binary distributions intentionally do not contain the OpenMCL interface database for either platform. The interface database files are fairly large and (ideally) fairly stable - their contents should change less frequently than the lisp itself - and are therefore distributed separately. It's necessary to install the appropriate interface database in order to compile OpenMCL sources.

Important: If you just double-click the file instead of running this command line, it will open in Stuffit Expander. This will wind up creating a new directory named ccl.1 (or ccl.2, or...), because Stuffit will see your existing ccl directory and assume that you don't want the new files to be mixed in with the old ones. But in this case, you do want them to be mixed in! That's why you're using the tar program, instead.

OpenMCL 0.14.3 keywords