The Advanced User's Guide
Glossary
- 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 function
process-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 function
use-package
.
- acquire a lock
- The result of a process waiting until the value stored in a lock location is
nil
and then setting the value of the location to itself.
- alive process
- A process for which an invocation of the function
process-state
returns:active
or:inactive
.
- autoloadable
- A user-defined property of a function or macro that allows it to be loaded on demand by the Autoloading Facility.
- autoloading
- 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.
- block
- To idle a process in the Multitasking Facility.
- buffer
- 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.
- Compiler
- 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.
- continuation
- 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 function
process-state
returns:killed
; a process that has been killed by calling the functionkill-process
, or has come to its natural completion.
- deadlock
- When two or more processes are waiting for locks held by each other.
- declaration
- 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 from
least-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 type
float
.
- 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 term
variable
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.
- fringe
- An ordered list of the atoms at the leaves of a tree made of conses.
- free lock
- A lock whose location contains
nil
.
- 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 function
process-state
returns:inactive
, indicating that the process has been deactivated by the functiondeactivate-process
; a process that is alive but cannot be run.
- index
- 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 function
use-package
.
- initial function
- A function invoked by
make-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.
- interruption
- A function invoked when
interrupt-process
interrupts a running process.
- isomorphic objects
- Objects that have the same form, such as objects in most resources.
- keyword
- 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.
- limit
- 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.
- lock
- 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.
- modulus
- One of two integer values associated with a foreign type that is in the range 0
remainder
<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.
- owned
- Of symbols. An owned symbol belongs to that symbol's home package.
- 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.
- parameter
- 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.
- process
- A program in execution.
- proclamation
- 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.
- rehashing
- Redistributing hash table keys as evenly as possible over the range of index values.
- registering
- In finalization, the process of putting an object on the finalization queue.
- remainder
- One of two integer values associated with a foreign type that is in the range 0
remainder
<modulus
4095 and that is used for data alignment.
- resource
- 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.
- scheduler
- 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.
- slots
- 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 macro
with-static-area
or symbols that have been interned in a package.
- structure type
- A named foreign type that is defined with the macro
def-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 macro
def-foreign-synonym-type
.
- syntax
- 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*
.
- variable
- 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