This is not a general Lisp glossary. It only has terms used in the
text of this site. The ANSI Standard for Common Lisp has an extensive glossary.
- Common Lisp Object System (CLOS)
- The object-oriented features of Common Lisp. These are
introduced on this site and defined in the Common Lisp and Meta
Object Protocol references.
- An object-oriented exception handling mechanism.
- First Class
- A language supports some data type as first-class when
the objects of the type can be created and used as data at run time.
First-class data can be kept in variables, and passed to and returned from
functions. In dynamically typed languages,
first-class data can also have its type examined at run-time.
- A set of objects which are of different types. For example, any
element of a heterogenous array might contain integers or floating point
numbers, or another array, or any kind of data.
- A set of objects
that are required to all be of the same type. For example a
homegenous array of integers can contain only integers.
- The mechanism for repeatedly
performing a series of actions. Common Lisp provides a number of
constructions for performing iteration, as well as support for recursion.
- Meta Object Protocol (MOP)
- In general, an object oriented program, accessible to
programers, which defines the internals of a supported system in such
a way as to allow programmers to tailor the system to better meet
their particular needs. Such needs might include efficiency or
In particular, a MOP has been defined for the Common Lisp Object System, which is implemented
using this particular MOP. Often, when people refer to
"the MOP" as opposed to "a MOP",
they are refering to the CLOS MOP. However, AMOP is short for
The Art of the Metaobject
Protocol, which defines "the MOP".
See the MOP references.
- Pretty Printing
- An object-oriented, programmer-definable, formatted printing system.
- Symbolic Processing
- The processing of information, as opposed to the mere
crunching of numbers. Information may indeed be numeric, but may also
include arbitrary, heterogeneous objects.
Usually, it is convenient in such processing to assign names to
things which can themselves be accessed as first class data, and to be able to determine
the type and internal representation of objects at run time.
- A specification for the number and types of arguments to a
function, and the number and types of return values. A function with
optional or named (keyword) arguments can still have a signature.