OpenMCL invocation


Table of Contents

Invoking OpenMCL
LinuxPPC
DarwinPPC
General
Some (hopefully) useful options

Invoking OpenMCL

The lisp kernel (ccl/ppccl under LinuxPPC, ccl/dppccl under DarwinPPC) can be invoked as:

LinuxPPC

> ppccl [options]
> ppccl image-name
   

Under LinuxPPC, the image-name defaults to the lisp kernel pathname with the case of its last component inverted (e.g., ccl/PPCCL).

DarwinPPC

> dppccl [options]
> dppccl image-name
   

Under DarwinPPC, the image-name defaults to the lisp kernel pathname with the string ".image" appended (e.g., ccl/dppccl.image). Since Darwin/MacOS X installations use HFS+ filesystems - which are case-insensitive - by default, the case-inverting conventions used under Linux wouldn't work very well.

General

The --help option will summarize the syntax of the options recognized by the current release.

The OpenMCL shell script passes all of its arguments to the lisp kernel. For a variety of reasons, it's probably simpler to use that shell script than it is to invoke the kernel directly.

Some (hopefully) useful options

The exact set of command-line arguments accepted by OpenMCL may vary slightly from release to release; "openmcl --help” is hopefully a definitive (if somewhat terse) summary of the options accepted by the current implementation. Some of those options aren't well documented elsewhere and are described below.

  • -S (or --stack-size). Specify the size of the initial process stack.

  • -b (or --batch). Execute in "batch mode". End-of-file from *STANDARD-INPUT* will cause OpenMCL to exit, as will attempts to enter a break loop.

  • -n (or --no-init). By default, OpenMCL will try to execute (load "home:openmcl-init") (and fail silently if neither a .lisp or FASL version of that file exists.) This option suppresses that behavior.

  • -e <form> (or --eval <form>). An expression is read (via READ-FROM-STRING from the string <form> and evaluated. If <form> contains shell metacharacters, it may be necessary to escape or quote them to prevent the shell from interpreting them.

  • -l >path> (or --load <path>). Executes (load "<path>").

The --load and --eval options can each be provided multiple times. They're executed in the order specified on the command line, after the init file is (possibly) loaded and before the toplevel read-eval-print loop is entered.