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 y576qj(635) GLOSSARYy763qc(0,14848)\1f1 Even Heading: Not-on-first-pagey756qj(0,17815) IDL REFERENCE MANUALy763qc\5f1 9f0 1f1 Glossary of termse18c(635)\f6b 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.l4096d2999e18j\f6 103f1 5f6 2f1 1f6 19f1 1f6 Apply--when a function is invoked, it is said to be applied to its arguments.l4096d2999e12j\f6 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.l4096d2999e12j\f6 73i7I2i8I7i17I27f0i5f6I 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.l4096d2999e12j\f6 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.l4096d2999e12j\f6 59f1 13f6 24f1 13f6 3f1 4f0 17f1 10f0 8f6 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.l4096d2999e12j\f6 242f1 3f0 30f6 6i12f0I1f6 Binary--of an operator or function, having exactly two operands or arguments.l4096d2999e12j\f6 Bind--to cause a value to be associated with a variable; see assignment.l4096d2999e12j\f6 61i10I 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 _.l4096d2999e12j\f6 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). l4096d2999e12j\f6 1f1 4f0 6i1I14i4I150f1 1f0 1f1 1f0 17f1 10f0 6f1 1f0 17f1 9f0 3f6 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.l4096d2999e12j\f6 121f1 3f6 28f1 6f6 23f1 4f6 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)).l4096d2999e12j\f6 122i4I55f1 3f6 10f1 21f6 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.l4096d2999e12j\f6 59f1 7f6 24f1 6f6 4f1 4f6 17f1 10f6 Compression--describes a function designed to compress a data array (e.g., a subjects by variables matrix) to some smaller array for subsequent analysis.l4096d2999e12j\f6 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.l4096d2999e12j\f6 59f1 6f6 5f1 6f6 57f1 10f6 43f1 6f6 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.l4096d2999e12j\f6 Data type--the kind of object that a value represents. Some examples are FIXP (integer), FLOATP (floating), STRING; see these terms for definitions.l4096d2999e12j\f6 74f1 4f6 11f1 7f6 13f1 6f6 Default--of an argument to a function, the value that will be assumed if none is explicitly given when the function is used.l4096d2999e12j\f6 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.l4096d2999e12j\f6 147i5I2i9I Dimension label--a label for a dimension of an IDL array.l4096d2999e12j\f6 47f1 3f6 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.l4096d2999e12j\f6 107f0 21f1 7f0 45f1 3f0 57f1 14f0 1f6 Element--a single item in an aggregate; e.g., a scalar can be an element of an array.l4096d2999e12j\f6 Evaluate--to compute the value of an expression. Lists are evaluated by function application and literal atoms evaluate to their current bindings.l4096d2999e12j\f6 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.l4096d2999e12j\f6 30f1 6f6 2f1 7f6 5f1 6f6 Expression--a description of a computation. See S-expression.l4096d2999e12j\f6 49i2f0 10f6I 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.l4096d2999e12j\f6 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).l4096d2999e12j\f6 10f1 8f6 4f0 5f6 52o4 1f1 2f6o0 12f1o4 2f6o0 44i7I1f1 6f6 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.l4096d2999e12j\f6 108i9I17i7I41i10I2f1 4o252 1o0 2o252 1o0 5f6 7f1 2f6 27f1 1f7o252 1f6o0 2f1 1f7o252 1f6o0 25f1 2f0 108f1 6f0 4f1 7f0 21f6 Generic--an argument to a function that is expected to be an array of arbitrary dimensionality. Also, a function with such an argument.l4096d2999e12j\f6 Identifier--the atomic name of a variable or function; so called because it is used to identify the variable or function in expressions.l4096d2999e12j\f6 33i8I4i8I Index--subscript (which see).l4096d2999e12j\f6 7i9I 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.l4096d2999e12j\f6 Inner product--the standard matrix product of two 2-dimensional arrays.l4096d2999e12j\f6 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).l4096d2999e12j\f6 9f1 6f6 4f0 5f6 Inverse--of a matrix, that matrix which when multiplied by the given matrix gives the identity matrix.l4096d2999e12j\f6 Invert--of a matrix, to compute its inverse.l4096d2999e12j\f6 Labels--of arrays. There are four types, a title, and dimension, selector, and value labels.l4096d2999e12j\f6 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.l4096d2999e12j\f6 108f1 4f0 104i12I1f6 Literal atom--an atom which is not a number.l4096d2999e12j\f6 Matrix--an array with exactly two dimensions. An [n,m]-matrix is a matrix with shape [n m].l4096d2999e12j\f6 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.l4096d2999e12j\f6 333f1 3f6 2f1 3f6 No-spread--a property of Lisp functions that have an indefinite number of arguments. ADJOIN is a no-spread function.l4096d2999e12j\f6 86f1 6f6 NIL--a special Lisp object. In IDL, used to represent missing data in an array.l4096d2999e12j\f6 32f1 3f6 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.l4096d2999e12j\f6 48f0 10f6 160f1 4f6 13f0 4f6 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.l4096d2999e12j\f6 93f0 1f6 1f0 1f6 1f0 1f6 11f0 1f6 1f0 1f6 1f0 1f6 9f0 1f6 1f0 1f6 1f0 1f6 26f0 1f6 1f0 1f6 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.l4096d2999e12j\f6 73f1 11f0 97f6 37f1 19f0 143f1 7f0 5f1 1f0 7f1 5f0 49f1 5f0 1f6 Rebind--to assign a new value to a variable; bind, assign; stresses the fact that the former value of the variable is lost.l4096d2999e12j\f6 45i4I2i6I Return--a function that computes a value is said to return that value; supply a value for further computation.l4096d2999e12j\f6 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.l4096d2999e12j\f6 35f1 3f6 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.l4096d2999e12j\f6 71i4f0I28i8I40i9I36f6 7i7f0 5I34f6 Scalar--a number (FIXP or FLOATP) or NIL; the set of objects that can be stored as elements of an IDL array.l4096d2999e12j\f6 18f1 4f6 4f1 6f6 5f1 3f6 58f1 3f6 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.l4096d2999e12j\f6 134i5I2i9I2i6I 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.l4096d2999e12j\f6 83f1 3f6 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.l4096d2999e12j\f6 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.l4096d2999e12j\f6 10f0 5f6 112f1 7f6 44f1 1f6 2f1 1f6 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.l4096d2999e12j\f6 315i5I2i9I Sweep--to numerically remove variance components from a covariation matrix. See the description of the SWEEP function.l4096d2999e12j\f6 104f1 5f6 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.l4096d2999e12j\f6 238f1 3f6 34f1 9f6 Unary--of an operator, having exactly one operand. See binary.l4096d2999e12j\f6 56i6I 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.l4096d2999e12j\f6 83f0 5f6 4f1 3f6 77f1 3f0 35f1 6f0 2f1 7f0 2f1 4f0 30f1 4f0 3f6 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)l4096d2999e12j\f6 175f8 1f6 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.l4096d2999e12j\f6 193f1 3f6 33f1 4f6 5f1 6f6 7i4I 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.l4096d2999e12j\f6 119f8 1f6 Vector--an array with exactly one dimension. An n-vector is a vector with n elements.l4096d2999e12j\f6 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.l4096d2999e12jk45\f6