LISP(1)
π NAME π
okay so this is LISP(1), straight outta the General Commands Manual β and it's giving CMU Common Lisp main character energy β¨
lisp β the CMU Common Lisp programming environment π«Ά
β¨ SYNOPSIS β¨
lisp [input-files] [switch-list]
πΈ DESCRIPTION πΈ
lisp starts up CMU Common Lisp. If switch-list is empty, then Lisp will enter a read-eval-print loop using stdin, stdout and stderr. The optional input-files provide operands for some switches. These switches are defined:
-helpβ prints out the command line options and exits π--helpβ same as-help.-corefilename β specifies the suspended Lisp image (orcore file) to start up.-liblibpath β a colon-separated list of directories to be used for thelibrary:search-list.-batchβ causes Lisp to run in batch mode, where all input is directed fromstandard-input. A unix return code of0is returned upon encountering an EOF, while any unhandled error condition will cause an immediate exit with a return code of1, instead of entering the debugger.-quietβ causes Lisp to start up silently, disabling printing of the herald, and causing most unnecessary noise, like GC messages, load messages, etc. to be suppressed.-dynamic-space-sizeβ requires an argument that should be the number of megabytes (1048576bytes) that should be allocated to the heap. If not specified, a platform-specific default is used. The actual maximum allowed heap size is platform-specific.-read-only-space-sizeβ requires an argument that should be the number of megabytes (1048576bytes) that should be allocated to the read-only space. If not specified, a platform-specific default is used.-static-space-sizeβ requires an argument that should be the number of megabytes (1048576bytes) that should be allocated to the static-space. If not specified, a platform-specific default is used. The actual maximum allowed heap size is platform-specific.-control-stack-sizeβ requires an argument that should be the number of megabytes (1048576bytes) that should be allocated for the control stack. If not specified, a platform-specific default is used. The actual maximum allowed heap size is platform-specific.-binding-stack-sizeβ requires an argument that should be the number of megabytes (1048576bytes) that should be allocated for the binding stack. If not specified, a platform-specific default is used. The actual maximum allowed heap size is platform-specific.-editβ causes Lisp to enter the Hemlock editor. A file to edit may be specified by placing the name of the file between the program name (usuallylisp) and the first switch.-evalexpression β evaluates the specified Lisp expression during the start up sequence. The value of the form will not be printed unless it is wrapped in a form that does output.-initfilename β specifies the name of a file containing user customizations that is to be loaded each time Lisp starts up (default~/initor~/.cmucl-init). The loader loads any existing compiled binary, or the.lispsource if none.-hinitfilename β similar to-init, but specifies the name of the Hemlock init file (default~/hemlock-initor~/.hemlock-init), which is loaded only when Hemlock is started.-noinitβ suppresses loading of the init file, and also prevents-editfrom loading the Hemlock init file.-nositeinitβ suppresses loading of the site-init site specific initialization file.-loadfilename β loads the specified file into Lisp before entering Lisp's read-eval-print loop.-slaveeditor-name β specifies that Lisp should start up as a slave Lisp and try to connect to an editor Lisp. The name of the editor to connect to must be specified. To find the editor's name, use the HemlockAccept Slave Connectionscommand. editor-name is of the formmachine-name:socket, where machine-name is the internet host name for the machine and socket is the decimal number of the socket to connect to.-debug-lisp-searchβ enables printing of messages indicating how CMUCL is searching for its core file. This is useful if CMUCL is not finding its core file for some reason.-fpufpu-mode β this option is only available on x86 systems. This option takes the valuesx87,sse2, orauto, withautobeing the default. With the default value, CMUCL will check to see if the machine running CMUCL supports SSE2 or not. If so, the SSE2 core file is automatically selected and used. If not, the x87 core file is used. With this option, the user can override the detection and select a core. (Note that you cannot run the SSE2 core on a chip that doesn't not have SSE2. But the x87 core can run on any machine.)--β if this option is given, CMUCL's argument processing is stopped, and anything after--is placed inEXT:*COMMAND-LINE-APPLICATION-ARGUMENTS*. This allows the application to do its own processing of any special options.
π¦ ENVIRONMENT π¦
CMUCLLIBβ this variable points to thelib/directory holdinglisp.coreand other files used by Lisp at run-time. This can be overridden by using the-libcommandline option.CMUCLCOREβ this variable holds the path to thelisp.corethat should be used. This can be overridden by using the-corecommandline option.CMUCL_EMPTYFILEβ [SunOS only] Ifdf /tmpshowsswapas the filesystem for the/tmpdirectory, then you have a"tmpfs"filesystem. In this case, you mustsetenvCMUCL_EMPTYFILEto point into a pathname on a non-TMPFS filesystem that can be used instead of/tmp/empty.XKEYSYMDBβ in order to use Motif (and the graphical debugger) with X servers from non-OSF vendors (like Sun) you may need to set the environment variableXKEYSYMDBto point to the filelib/XKeysymDB. Otherwise, you will get many error messages every time a new connection is opened to the CMU CL motifd. This file is read by the X11R5 Xt in order to augment the keysym database with certain OSF vendor keysyms that Motif wants to use.
π CORE FILE SEARCHING π
When no core file is specified (either by the CMUCLCORE environment variable or by the -core option), CMUCL will search in various places to find a possible core file.
When the environment variable CMUCLLIB is set or the -lib option is given, the lisp core file is searched in the places specified therein. This is a colon-separated list of directories, just like PATH. This list of directories is searched in order for a file named lisp.core. The first one found will be the core to be used.
When the CMUCLLIB is not set and -lib is not given, a set of default paths is used to initialize the library: search-list, and this list is also used to search for the core file. Let the lisp C executable be located at <bin>/lisp. Then the following directories are searched for the core file:
<bin><bin>/../lib/cmucl/lib<bin>/../lib/usr/local/lib/cmucl/lib
π FILES π
The following pathnames are specified relative to the directory where CMU CL is installed, e.g. /usr/local.
doc/cmucl/*β various postscript and text documentation files.bin/lispβ the lisp startup program. This directory should be inPATH.lib/cmucl/sample-wrapperβ an example shell script that sets up the environment and runslisp. This is not normally needed unless you want some special configuration.lib/cmucl/lib/lisp.coreβ the suspended Lisp image. But for x86 machines the suspended core is namedlisp-x87.coreorlisp-sse2.core, depending on whether the x87 or sse2 core is used.lib/cmucl/lib/site-init.lisp,generic-site.lispβ site specific initialization (seeREADMEfile.) Thegeneric-site.lispfile is a template that can be used to createsite-init.lisp. (Note: installation of CMUCL does not create or destroy anysite-init.lispfile.)lib/cmucl/lib/lisp.aβ an archive file of all of the C runtime code. This is needed when creating an executable image.lib/cmucl/lib/linker.sh,linker-x86.shβ shell scripts to perform the necessary linking to create an executable image.lib/cmucl/lib/hemlock11.*,lib/cmucl/lib/mh-scan,lib/cmucl/lib/spell-dictionary.binβ Hemlock files.lib/cmucl/lib/fonts/β X11 fonts for Hemlock.lib/cmucl/lib/localeβ this directory contains template files for CMUCL messages. Translations of the CMUCL messages are also stored here.lib/cmucl/lib/XKeysymDBβ database of X Keysym names for Motif.lib/cmucl/lib/load-foreign.cshβ script used byLOAD-FOREIGNto runldon some platforms.lib/cmucl/lib/contribβ this directory contains contrib modules, includingasdf2andmk-defsystem.lib/cmucl/lib/ext-formatsβ this directory contains lisp files that implement the various external formats supported by CMUCL.lib/cmucl/lib/subsystemsβ this directory contains the subsystems for CMUCL. The subsystems include CLX, CLM, Gray streams, Hemlock, and Simple Streams.~/init.lisp,~/.cmucl-init.lispβ user customization files loaded at lisp startup; either name is acceptable. Init files can be compiled.~/hemlock-init.lisp,~/.hemlock-init.lispβ Hemlock initialization file, loaded when Hemlock starts.
π₯ SEE ALSO π₯
cmucl(1),README- the βCMU Common Lisp User's Manualβ
- the βHemlock User's Manualβ
- the βHemlock Command Implementor's Manualβ
π BUGS π (yes bestie, we're being honest now)
Okay so like β bugs happen, it's giving "we're all just doing our best." π«Ά If you need support info (and yes, that includes the actual mechanisms for bug reporting), go consult http://www.cons.org/cmucl/support.html. That's the spot. β¨
And a lil PSA before you go off in the group chat: please, please consult your local CMU CL maintainer or Common Lisp expert β if you even have one β to verify that a problem really is a bug before reporting it. Not every weird thing is a bug, sometimes it's just vibes. π
πΈ Known problems with this version πΈ
Lowkey the tea on this build, no cap:
- Detection of stack overflow is not very graceful. Like, she does not slay this. You get many
map failureerrors onstderr. Many. Not one. Many. π - If file descriptors are used up, then Lisp will die. Yep. Run out of them and it's over β no dramatic goodbye, she just dies. πͺ¦
- Several proposed ANSI Common Lisp (CLtL II) features are not implemented: specifically, any CLOS features not implemented by
PCL, and features added since the first ANSI draft. So if you're looking for those, they're not here, bestie. π - The interpreter's pre-processing freezes in the macro definitions in effect at the time an interpreted function is defined. So like β the macros it sees at definition time are the ones it keeps. Frozen. Locked in. Iconic but also a whole thing. π§
fr fr, read the known problems before you file anything β the maintainer will love you for it and that's the main character energy we want. π
mwah π«Ά that's the whole page! This one's the 7th Edition, dated Nov, 2011, and it lives in section LISP(1) of the manual β so go forth, Lisp bestie, and may your stack never overflow gracefully-ish. π β¨π
π¦ where this page comes from
- nixpkgs unstable: cmucl-binary 21d
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms