The Advanced User's Guide


access functions

Automatically defined functions that retrieve the contents of each slot of a data structure.

active process

A process for which an invocation of the functionprocess-state returns:active; a process that is either running or waiting to run.

Advice Facility

A facility that allows you to modify the behavior of an existing function by attaching named pieces of advice.

accessible symbol

A symbol that is present in a package or has been inherited from some other package by means of the Common Lisp functionuse-package.

acquire a lock

The result of a process waiting until the value stored in a lock location isnil and then setting the value of the location to itself.

alive process

A process for which an invocation of the functionprocess-state returns:active or:inactive.


A user-defined property of a function or macro that allows it to be loaded on demand by the Autoloading Facility.


A facility that allows Lisp to load a specified file only when a function or a macro defined in that file is first called.

big-endian byte ordering

The ordering of bytes in a word from most significant to least significant.

binary file

A file containing compiled Lisp code.


To idle a process in the Multitasking Facility.


An array of data that is read from a stream in the buffered interface or that is available for data to be written.

call discipline

An indication of the way information passes between a function argument and its associated parameter.

check out a buffer

A process in the buffered interface that allows you to directly read or modify an I/O buffer.


A program that transforms Lisp expressions into native machine code.

composite stream

A stream that contains layers of simple streams.

constant folding

A Compiler optimization in which a form is evaluated and replaced by its value.


The original definition of a symbol that has been advised.

current package

The package that is specified by the global variable*package*.

dead objects

Objects that the garbage collector discards because there are no references to them.

dead process

A process for which an invocation of the functionprocess-state returns:killed; a process that has been killed by calling the functionkill-process, or has come to its natural completion.


When two or more processes are waiting for locks held by each other.


A statement that supplies information about a Lisp program to the Lisp environment. Declarations are often used by the Compiler.

derived types

Either a pointer to a previously defined type, a pointer to another derived type, an array of a previously defined type, or an array of a derived type in the foreign type system.

development mode

A Compiler mode in which code is compiled quickly and safely but with few optimizations. See also production mode.

dispatch code

Code that dispatches from generic functions to their methods.

displaced array

An array that shares elements with an existing array.

dynamic extent

A scoping rule that states that an object cannot be accessed after the function call that created it exits.

element types

Type specifiers that indicate the kinds of objects that can be read from or sent to a given stream.

environment variables

Variables provided by certain operating systems and by Liquid Common Lisp that allow you to customize the operating system and Lisp environment respectively.

error-checking code

Code that Lisp uses internally to check the numbers and types of the arguments to predefined functions at run-time.

external symbol

A symbol that is part of a package's public interface and that is accessible to other packages.

file handle

A UNIX file descriptor. For LCL/HP and LCL/RS6000, the file handle is an operating system stream identifier, which is equivalent to a UNIX file descriptor.

finalization queue

A list containing dead objects that you wish to be subject to further processing. See also dead objects.

fixnum arithmetic

Arithmetic that uses fixnum data type values.

fixnum integers

Small integers that can be directly represented as machine integers on the underlying hardware. The exact range of fixnum integers for a system is the range fromleast-negative-fixnum tomost-positive-fixnum.

floating-point contagion

In an operation involving both a rational and a floating-point argument, the process of converting the rational number to floating-point format before performing the operation.

floating-point numbers

Numbers that constitute the Lisp typefloat.

Foreign Function Interface

A facility for loading code that is written in computer languages other than Lisp into the Lisp environment, for creating Lisp functions to call non-Lisp code, and for converting information provided by Lisp functions to a format that can be used in a foreign environment.

foreign functions

Functions written in computer languages other than Lisp.

foreign pointer object

A Lisp object of two attributes, an address and a type, that identifies a region of virtual address space as foreign storage.

foreign storage

A location in memory that is associated with a type and that is described by the termvariable in procedural languages such as C.

foreign type

A set of abstract attributes of an area in memory that specifies how the bits stored in the area are to be interpreted.

foreign variable

Named foreign storage in the Foreign Function Interface.


An ordered list of the atoms at the leaves of a tree made of conses.

free lock

A lock whose location containsnil.

global value

A value for a special variable that is shared among all processes in the Multitasking Facility and that is modifiable by any process.

home package

The package to which a given symbol belongs.

idle process

The process Lisp runs when it has no other processes to run.

in a package

A file that is intended to be read while the value of*package* is the specified package.

in use

An object that is allocated but has not been deallocated.

inactive process

A process for which an invocation of the functionprocess-state returns:inactive, indicating that the process has been deactivated by the functiondeactivate-process; a process that is alive but cannot be run.


An integer that indicates the position of an array in the buffered interface that holds or that can hold the next element.

inherited symbol

A symbol from one package that is made accessible to another package by means of the Common Lisp functionuse-package.

initial function

A function invoked bymake-process that starts up the process that is created.

initial process

The process in the Multitasking Facility that exists when Lisp is first started.

initialization keywords

Keywords associated with the slots of a condition data type in the Error Handling Facility and that are used to assign values to the slot.

in-line coding

The replacement of the procedure call to a function with the machine-language code for that function.

internal symbol

A symbol intended for the private use of the package.

interned symbol

A symbol that belongs to a given package.

interrupt characters

Keystrokes that interrupt an operating system process.

interrupt process

The process in the Multitasking Facility that is interrupted as a result of a typing an interrupt character.


A function invoked wheninterrupt-process interrupts a running process.

isomorphic objects

Objects that have the same form, such as objects in most resources.


A symbol preceded by a colon (:mode,:value, and so forth).

keyword package

The package that consists of all the keyword symbols.

lexical closures

A function object that holds the values of lexical variables that are needed beyond their normal lifetime.

lexical variable

A variable that can only be referenced at the textual location of the code that creates it.


An integer that indicates the first element in the buffered interface that follows the valid portion of the buffer.

little-endian byte ordering

The ordering of bytes in a word from least significant to most significant.


An extra, user-defined memory location in a data structure that ensures that only one process in the Multitasking Facility can modify a data structure at a time.

locked lock

A lock whose location contains a non-nil value.


One of two integer values associated with a foreign type that is in the range 0remainder <modulus 4095 and that is used for data alignment.

Multitasking Facility

A scheme for scheduling execution time among multiple processes that are running concurrently in the same Lisp environment.

named types

Either a primitive type, a structure type, or a synonym type in the foreign type system.

open coding

See in-line coding.

optional parameter

A symbol that is not required for a function to work properly; in the syntactic description, the symbol&optional precedes the optional parameter.

outermost piece of advice

The first piece of advice that is invoked when multiple, nested pieces of advice apply to one symbol.


Of symbols. An owned symbol belongs to that symbol's home package.


A Common Lisp object that specifies a mapping between print name strings and symbols.

package cell

The part of the symbol that specifies the symbol's home package.


A symbol whose value is determined by the arguments that you supply when you invoke a function.

piece of advice

A modified definition of a symbol that results from applying advice to that symbol.

predefined type

A named foreign type that is predefined in the implementation.

present symbols

The symbols whose string-to-symbol mappings are specified by a given package.

primitive type

A named foreign type that is predefined in the implementation and that has a corresponding Lisp type.


A program in execution.


A global declaration.

production mode

A Compiler mode in which the Compiler compiles code more slowly but produces very efficient code. See also development mode.

qualify the package

A means of referencing an external symbol of some other package that involves preceding the symbol name with the package name and one colon; preceding the symbol name with the package name and two colons is a means of referencing an external or an internal symbol of another package.


Redistributing hash table keys as evenly as possible over the range of index values.


In finalization, the process of putting an object on the finalization queue.


One of two integer values associated with a foreign type that is in the range 0remainder <modulus 4095 and that is used for data alignment.


A structure that keeps track of certain free objects so that they can be allocated to users.

Resource Facility

A facility that allows objects to be repeatedly allocated and deallocated with low overhead.

rest parameter

A construct that allows a function to have an unspecified number of arguments; it is indicated by the symbol&rest in the syntactic description.

restart function

A function of no arguments that Lisp first calls when a saved disk file is executed.


The means by which processes are stopped and restarted in the Multitasking Facility without changing the results of the execution.

scheduler cycle

A period of time in the Multitasking Facility in which all of the runnable processes have been scheduled.

scheduling quantum

A small period of time that each process is allowed to run in the Multitasking Facility.

self-tail call

A function call in which the function calls itself as the last operation.

self-recursive call

A function call in which the function calls itself.


The fixed number of named components of a structure or data type.

source file

A text file containing Common Lisp expressions.

Source File Recording Facility

A facility that records the name of the source file in which a Lisp object is defined.

special variable

A variable that is used in a special declaration and that has dynamic scope.

stack lists

Lists that are allocated on a stack instead of in dynamic space.

stationary data

Modifiable Lisp data passed to a foreign function that do not move during a garbage collection, such as data that have been allocated by a call to the macrowith-static-area or symbols that have been interned in a package.

structure type

A named foreign type that is defined with the macrodef-foreign-struct and that is formed by concatenating previously defined types, much like thestruct type in C.

synonym streams

Streams associated with a symbol.

synonym type

A named foreign type that attaches a new name to a previously defined type; it is defined with the macrodef-foreign-synonym-type.


Standardized grammatical rules and patterns.

tail call

A function call that is the last operation performed by the calling function.

tail merging

The Compiler's reuse of the calling function's stack frame rather than creating a new stack frame when optimizing a tail call or self-tail call.

tail-recursive function

A function that is defined by using self-tail calls.

type checking

The checking of the data types of all arguments to a predefined function at run-time.

type propagation

The process of passing type information to all values assigned to a declared variable, returned by a special form, or returned by a function that contains type declarations.

typed objects

Lisp objects whose bit patterns indicate their type.

uninterned symbol

A symbol not owned by any package.

unwinding the stack

An action that occurs when the scheduler in the Multitasking Facility switches processes; it restores the global value of any special variable that has been bound in the current process.

use list

A list of the packages that are used by a package.

used-by list

A list of the packages that use a package.

using the initial I/O stream

Communication among processes in the Multitasking Facility by means of the stream stored in the variable*initial-io* rather than by the streams stored in the Common Lisp variables*debug-io* or*terminal-io*.


A term used in procedural languages to describe foreign storage.

wait function

A function associated with a newly created process that is used by the scheduler to test whether the process should run.

weak hash tables

Hash tables in which dead keys or dead entries are deleted. See also dead objects.

weak pointer

A pointer that does not constitute a reference from the point of view of garbage collection. See also dead objects.

weak sets

Lists of objects such that membership in the weak set does not constitute a reference to those objects. See also dead objects.

The Advanced User's Guide - 9 SEP 1996

Generated with Harlequin WebMaker