Page Numbers: Yes X: 527 Y: -.4 First Page: 95 Not-on-first-page
Margins: Top: 1.1" Bottom: 1" Binding: 5
Odd Heading: Not-on-first-page
GLOSSARY
Even Heading: Not-on-first-page
IDL REFERENCE MANUAL
Glossary of terms
Argument--a value that is passed to a function at the time the function is invoked. In the expression (F A), A is an argument of F.
Apply--when a function is invoked, it is said to be applied to its arguments.
Array--a rectangular aggregate of data items each one of which is either integer, floating, or a missing data code. Possibly labelled. See shape; see Chapter 1.
Assignment--the saving or storing of a value into a variable or array, from which it can be retrieved later by writing the variable name or array selection in an expression. Written with the operator ←, as in var ← expr or array@selector ← expr.
Associative--of an operator or function, the property that (F (F A B) C) has the same effect as (F A (F B C)). PLUS is associative; DIFFERENCE is not.
Atom--a Lisp data object represented by a string of characters not including such special characters as (, ), space, and ". The numbers form one subclass of atoms, while the symbols used as identifiers of Lisp variables and functions and as IDL labels form another subclass. See literal atom.
Binary--of an operator or function, having exactly two operands or arguments.
Bind--to cause a value to be associated with a variable; see assignment.
Break--a stoppage of the evaluation of an expression or a function due to an error. A message about the error is typed and the user is prompted with : rather than ←.
CLISP--for Conversational Lisp, a facility in Interlisp that permits certain common operations to be specified in an abbreviated form by means of special characters. For example, A+B may be used for (PLUS A B) and ’A may be used for (QUOTE A).
Code--a numeric value associated with some value label in an array. For example, codes for a column with selector label SEX might be 1 for value-label FEMALE and 2 for value-label MALE.
Codebook--the set of codes and associated labels used to code a variable in numeric form. A codebook is represented as a list of pairs, so that a typical codebook for the variable SEX might be ((1 MALE) (2 FEMALE)).
Commutative--of an operator or function, the property that (F A B) has the same effect as (F B A). PLUS is commutative; DIFFERENCE is not.
Compression--describes a function designed to compress a data array (e.g., a subjects by variables matrix) to some smaller array for subsequent analysis.
Concatenate--put together "end to end". Given two strings "THIS" and "THAT", for instance, their concatenation is the longer string "THISTHAT". Can also be applied to vectors with the ADJOIN function.
Controlling argument--in a call on an extended function, the argument which has the greatest discrepancy in number of dimensions between the actual argument and the function’s "expects". If two or more arguments have equal discrepancies, then the leftmost of them.
Data type--the kind of object that a value represents. Some examples are FIXP (integer), FLOATP (floating), STRING; see these terms for definitions.
Default--of an argument to a function, the value that will be assumed if none is explicitly given when the function is used.
Dimensions--of an array, the number of subscripts that are required to select a single element from it; also, the length of its shape vector. See shape, subscript.
Dimension label--a label for a dimension of an IDL array.
Dribble file--a transcript of an Interlisp session, showing what the user types and how the system responds. The Lisp function DRIBBLE turns the transcript mechanism on and off. IDL automatically creates such a transcript on a file named IDL.TYPESCRIPT.
Element--a single item in an aggregate; e.g., a scalar can be an element of an array.
Evaluate--to compute the value of an expression. Lists are evaluated by function application and literal atoms evaluate to their current bindings.
Expects--the list argument to EAPPLY, EAPPLY* and EXTEND that indicates the dimensionality of the value that the extended function will accept in each particular argument position.
Expression--a description of a computation. See S-expression.
Extend--to modify a function ("the extended function") so that the extension mechanism will intercept and decompose arguments with more dimensions than the function is programmed to handle.
Floating--(FLOATP)--a Lisp data type, representing numeric values from about 10-37 to about 1037 with about seven digits of precision. See integer (FIXP).
Function--a set of instructions that indicates how to compute a value from one or more input values, called arguments. A function is applied to a particular set of arguments in the expression (FN A1 A2 ...) where FN denotes the function, and A1, A2 ... are the arguments. FN may be an atom with which the instructions to be evaluated have previously been associated, or it may be a LAMBDA or ELAMBDA form enclosing them.
Generic--an argument to a function that is expected to be an array of arbitrary dimensionality. Also, a function with such an argument.
Identifier--the atomic name of a variable or function; so called because it is used to identify the variable or function in expressions.
Index--subscript (which see).
Initialize--to assign a value to a variable for the first time; give it a value that will be used or changed later in some sequence of operations.
Inner product--the standard matrix product of two 2-dimensional arrays.
Integer--(FIXP)--a Lisp data type representing numeric quantities within the approximate range plus or minus one billion, without fractions (i.e., whole numbers only).
Inverse--of a matrix, that matrix which when multiplied by the given matrix gives the identity matrix.
Invert--of a matrix, to compute its inverse.
Labels--of arrays. There are four types, a title, and dimension, selector, and value labels.
List--a Lisp data type, written as a sequence of elements enclosed in parentheses. Also, the Lisp function LIST, which constructs a list object from the elements resulting from the evaluation of its arguments. See S-expression.
Literal atom--an atom which is not a number.
Matrix--an array with exactly two dimensions. An [n,m]-matrix is a matrix with shape [n m].
Missing data code--a special value that is stored as an element of an array and signals that the data value that should occupy that position is missing, not available, not meaningful, etc. In a sociological survey, for example, the column for spouse’s occupation would contain a missing data code for any unmarried respondents. In IDL, NIL is the missing data code.
No-spread--a property of Lisp functions that have an indefinite number of arguments. ADJOIN is a no-spread function.
NIL--a special Lisp object. In IDL, used to represent missing data in an array.
Operator--one or more characters (listed in the Interlisp Reference Manual) giving a convenient way of invoking a particular function, called the function associated with the operator. Thus, + is the operator for the PLUS function in Lisp.
Permutation--a reordering of some set without repetition or deletion. Thus, if the set is [1 2 3 4], then [4 2 3 1] and [1 2 4 3] are permutations but [1 2 3] is not.
Quote--to suppress evaluation of an expression. Usually, the expression (MOMENTS A) appearing as an argument to a function would cause that function to receive an array of moments. If the expression is quoted (i.e., (QUOTE (MOMENTS A))), the function will receive the expression itself. This might be interpretable, for example, as a selector for an array with levels labelled MOMENTS and A. The CLISP operator ’ is associated with the Lisp function QUOTE.
Rebind--to assign a new value to a variable; bind, assign; stresses the fact that the former value of the variable is lost.
Return--a function that computes a value is said to return that value; supply a value for further computation.
Row-major--the order in which most IDL functions process the elements of an array; elements are enumerated with the last subscript varying fastest, so that the [1,1,...,1,1] element is considered before the [1,1,...,1,2] and [1,1,...,2,1] elements, etc.
S-expression or symbolic expression--a description of a computation. A list expression is evaluated by applying its first element as a function to the arguments described by the remaining elements and a literal atom evaluates to its current binding.
Scalar--a number (FIXP or FLOATP) or NIL; the set of objects that can be stored as elements of an IDL array.
Selector--a set of subscripts, one for each dimension of the selected array, that serve to pick a scalar or sub-array out of it. See shape, dimension, scalar; also Chapter 1.
Selector label--a label associated with one subscript value of one dimension of an IDL array. It can be used in a selector to specify the associated row or column.
Shape--the vector showing the "size" (subscript boundaries) of an array along each of its dimensions. Thus, the shape of an array with two rows and three columns is [2 3]. See section 2.1.
String--a Lisp data type consisting of a number of characters put together in a row. Typed by the user in quotation marks, as "HELLO", a five-character string of the characters H, E, etc.
Subscript--an integer or selector label, or several of these objects, specifying one or more values of the corresponding dimension of an array, used in selection. For example, the first element in the second row of a two-dimensional array may be selected with the subscripts [2 1] (second row, first column). See shape, dimension, also Section 2.1.
Sweep--to numerically remove variance components from a covariation matrix. See the description of the SWEEP function.
Transpose--to rearrange the dimensions of an array. The simplest case is the "ordinary" transpose of a matrix, where the (i,j) element of the original array becomes the (j,i) element of the transposed array. Generalized beyond this for IDL use. See the description of the TRANSPOSE function.
Unary--of an operator, having exactly one operand. See binary.
User function--a function (set of instructions) written by the user himself in the Lisp and IDL language, as opposed to a system function. Such a function is added to the IDL environment by the Lisp functions DEFINE, DEFINEQ, PUTD, perhaps when a user file is LOADed.
Value--the result of evaluating an expression; the "answer", the quantity produced by some computation. This corresponds with common usage in simple cases, as "the value of 4-3 is 1," but is extended to cover the value of a function call (the result computed by the function) and the value of a variable (the value most recently assigned to the variable)
Value label--one that labels one possible value of a cell of an array; the corresponding value is called its code. For instance, the values used to represent observations of a variable called SEX could have the two value labels MALE and FEMALE. See code.
Variable--a name with which has been associated some value. Also, an observation which has been made on many subjects - often represented as a column of a data matrix.
Vector--an array with exactly one dimension. An n-vector is a vector with n elements.
Weight--to allow different subjects to make unequal contributions in the computation of some statistic from a sample of subjects. Usually specified as a column in the data array that contains the desired weight value for each subject. Weights of zero and one are useful for omitting some subjects entirely from the analysis.