Table of Contents
Current system requirements.
information about obtaining OpenMCL sources via CVS
information about the directory structure
The lisp kernel (called "ppccl" on LinuxPPC, called "dppccl" on DarwinPPC)) is an application which loads heap images and provides runtime support (garbage collection and memory management, exception handling, OS interface, etc.) for lisp applications. If you want or need to re-build the lisp kernel from sources, see kernel build procedure.
The initial heap image (called "PPCCL" on LinuxPPC, "dppccl.image" on DarwinPPC) is ... a memory image of the lisp heap containing compiled lisp code and data. The function CCL:SAVE-APPLICATION creates heap images; to learn how to compile lisp sources and build heap images, see lisp build process.
notes on invoking OpenMCL.
Using ILISP with OpenMCL
Using sockets in OpenMCL
Using shared libraries
Doing multibyte I/O in OpenMCL
Using AltiVec from OpenMCL LAP functions
Some notes on the example programs distributed with OpenMCL, and some more detailed information on the Cocoa demo IDE (and on using Cocoa from OpenMCL in general.)
(Very) general information about how OpenMCL's memory management system interacts with the operating system.
Using OpenMCL under Darwin is supposed to be virtually identical to using it under LinuxPPC. Some of the known and/or intentional differenes are described here.
As of version 0.11, OpenMCL provides some support for dealing with MacOS line termination conventions.
Sometimes, it may be convenient or necessary to setup the OpenMCL environment to make ad-hoc, incremental changes to OpenMCL itself.
Using threads in OpenMCL (especially native threads, as introduced in OpenMCL 0.14).
Multiple threads need to have some way to manage control of a shared terminal input stream. The way that that's currently handled in OpenMCL is described here.
Recent releases of OpenMCL 0.14 support a very large subset of the MetaObject Protocol.
Notes on OpenMCL's Cocoa demo programs.
Notes on how the tagging system, GC, and other things are implemented
Information about calling foreign functions in OpenMCL
How foreign types are specified and used in OpenMCL
Some issues related to referencing foreign memory addresses - and the contents of those addresses - are described here
Information on the OpenMCL interface database.
Information on using the OpenMCL interface translator.
Foreign type and function names are case-sensitive. As of version 0.11, OpenMCL treats them that way; the details of how lisp symbols map to case-sensitive foreign names are described here.