(original) (raw)
Page Numbers: Yes X: 306 Y: 1.0" First Page: 112 Margins: Top: 1.0" Bottom: 1.3" Heading: z18344l3000x3e4qk40(0,65535) GLOSSARY 3-LISP REFERENCE MANUAL March 12, 1984l3000d2469y756x3e4qk40(0,2999)(1,8678)(2,16416)(13,0)\f7 1f1 x3c(1270)\f5b 9. A 3-LISP Glossaryx3c\f5b x3c\f5b x3e10j Accessible An internal structure is accessible if it is the value of one of the 9 binary functions defined over the structural field (CAR, CDR, FIRST, REST, ENV, PATTERN, BODY, PROCEDURE-TYPE, or REF) on some argument that in turn is accessible. In addition, the handles of all structures are accessible from their referents. Finally, the booleans, numerals, and charats are always accessible. The lexical internalisation function also makes a considerable number of atoms accessible (all those that have established names) by keeping an explicit representation of the nameatom pairings. When a so-called new' structure is generated (by RCONS, SCONS, ACONS, PCONS, or CCONS) it is guaranteed to be otherwise inaccessible, meaning that it cannot be accessed from any other accessible structure. Finally, a rail is considered to be completely inaccessible if it and all of its tails are inaccessible. Thus (RCONS 'A 'B 'C) returns as otherwise completely inaccessible rail, whereas if X is bound to '[B C], then (PREP 'A X) returns an inaccessible (but not completely inaccessible) rail.l3648d2999x3j(0,5984)(1,6656)(2,65535)(13,65535)\b10B30i10I88f7 3f0 2f7 3f0 2f7 5f0 2f7 4f0 2f7 3f0 2f7 7f0 2f7 20f0 5f7 3f0 444f3 5f0 2f3 5f0 2f3 5f0 2f3 5f0 5f3 5f0 25i10ub12UBI110i1ub23UBI52f3 10G6f0 63f3 1f0 13f3 6f0 7f3 11f0 25g Apply The relationship between an abstract (external) mathematical function and arguments to values (the application of the addition function to the platonic numbers 1 and 2 is the number 3).l3648d2999x3j\b5B104i11I Atom A non-composite internal structure used as a environment-relative name.l3648d2999x3j\b4B Back-quote A lexical notation operator (borrowed from MACLISP), designed to facilitate the construction of quoted structures with context-dependent insertions, as in the construction of macros. 3-LISP back-quotes are very much like Quine's corner quotes . For example, (+ ,A ,B) abbreviates (PCONS '+ (RCONS A B)), and will normalise to '(+ 1 2) in an environment in which A is bound to '1 and B to '2. See section 4.c. [[ Put in the backquote principle ]]l3648d2999x3j\b10B48f7 7f0 134f7 6f0 75f7 1f3 10f0 13f3 22f0 24f3 8f0 28f3 1f0 13f3 2f0 5f3 1f0 4f3 2f0 21f1b36f0B Binding xxxl3648d2999x3j\b7B Boolean One of two non-composite internal structures canonical normal-form designators of Truth and Falsity, respectively. In the standard notation the two booleans are spelled $T' and $F'.l3648d2999x3j\b7B178f3 2f0 7f3 2f0 C-PROC!, C-ARGS!, C-FIRST!, C-REST! The four standard continuations engendered at each reflective level by the reflective processor. See sections 111.l3648d2999x3j\f7b7f9 2f7 7f9 2f7 8f9 2f7 7f0B Canonical xxxl3648d2999x3j\b9B Character xxxl3648d2999x3j\b9B Charat A non-composite internal structure that is a normal-form canonical designator of a character. In the standard notation charats are notated with two characters: a sharp sign (#') followed by the character designated; thus #4' notates the charat that designates the character 4'.l3648d2999x3j\b6B181f3 1f0 47f3 2f0 52f3 1f0 Closure A primitive internal structure type: a composite, normal-form but not canonical designator of a function. Closures are constructed with CCONS (q.v. section 111). Closures, being internal structures, contain environments designators, patterns, and bodies, which may be accessed with the selector functions CENV, PATTERN, and BODY, respectively.l3648d2999x3j\b7B142f3 5f0 2i4I159f3 4f0 2f3 7f0 6f3 4f0 Co-Designate xxxl3648d2999x3j\b12B Completely Inaccessible See Accessible'.l3648d2999x3j\b10f9 1f0 12B Context Independent xxx.l3648d2999x3j\b19B Continuation xxxl3648d2999x3j\b12B Continuation Passing Style (CPS) xxxl3648d2999x3j\b32B Declarative Import The first coordinate of the full significance of a 3-LISP structure. The declarative import is our reconstruction of what a structure designates or refers to. For example, we take the numeral 144' to designate the number that is the square of 12; thus we would say that 144 is the declarative import of that numeral.l3648d2999x3j\b11f9 1f0 6B56f7 6f0 78i10I4i9I37f7 3f0 48f7 2f0 25f7 3f0 8i18I Designate The relationship between a symbol X and the object that is F(X). For example, the numeral 1 (i.e., the numeral notated with the character 1') designates the number 1; the handle 'X designates the atom X; and the expression (LAMBDA SIMPLE [X] X) designates the identity function. designation, designatorl3648d2999x3j\b9B39f7 1f0 24f2 1f7 3f0 28f3 1f0 48f3 1f0 39f3 2f0 21f3 1f0 21f3 21f0 36b11B2b10B Designator xxxl3648d2999x3j\b10B Designation xxxl3648d2999x3j\b11B Digit xxxl3648d2999x3j\b5B Dynamic Scoping xxxl3648d2999x3j\b15B Environment A theoretical entity the captures part of the processor state (the other is the continuation). Specifically, an environment is an external sequence of two-tuples of atoms and bindings; thus the environment designated by the 3-LISP structure [['A '3] ['ID '{CLOSURE [] '[X] X}] ['HANDLE ''A]] contains bindings for three structures (A, ID, and HANDLE, bound respectively to the numeral 3, a closure designating the identity function, and the handle 'A). Note that all well-formed 3-LISP environments contain bindings for only atoms, and all bindings are normal-form structures.l3648d2999x3j\b11B230f7 6f0 11f3 29G5g16f0 41f3 1f0 2f3 2f0 6f3 6f0 36f3 1f0 62f3 2f0 30f7 6f0 Evaluate We do not use the term evaluate', since it is ambiguously used as a function from expressions either onto their designations or onto co-designative simpler expressions.l3648d2999x3j\b8B Expression xxxl3648d2999x3j\b10B Extension xxxl3648d2999x3j\b9B Extensional xxxl3648d2999x3j\b11B External xxxl3648d2999x3j\b8B Externalise xxx Externalisationl3648d2999x3j\b11B10b15B First-order xxxl3648d2999x3j\b11B Function An external (abstract) mathematical object, that can be applied to arguments so as to yield values. Mathematicians typically treat functions as sets of ordered pairs; we don't really care one way or another.l3648d2999x3j\b8B Functional xxxl3648d2999x3j\b10B Handle A non-composite internal structure that is a normal-form and canonical designator of another internal structure. Handles are notated with a single prefixed single-quote mark: thus the lexical expression 'A ' notates the handle of the atom A.l3648d2999x3j\b6B210f1 1f3 2f1 1f0 33f3 1f0 Higher-order xxxl3648d2999x3j\b12B Hyper-intensional xxxl3648d2999x3j\b17B Inaccessible See Accessible'. l3648d2999x3j\b12B Internal xxxl3648d2999x3j\b8B Internalise xxx Internalisationl3648d2999x3j\b11B10b15B Intension xxxl3648d2999x3j\b9B Intensional xxxl3648d2999x3j\b11B Internal Structures Any of the ingredients in the 3-LISP structural field.l3648d2999x3j\b19B Kernel xxxl3648d2999x3j\b6B Lexical xxxl3648d2999x3j\b7B Lexical Scoping See Static Scoping'.l3648d2999x3j\b15B Macro xxxl3648d2999x3j\b5B Mention (As opposed to Use'.)l3648d2999x3j\b7B Meta-structural xxxl3648d2999x3j\b4f9 1f0 10B Normal-form Structures are defined to be in normal-form if they are stable (q.v. self-normalising), side-effect free (q.v. processing them engenders no side-effects), and context-independent (q.v. neither Y nor F depends on the environment or continuation). Of the eleven 3-LISP structure types, eight and a half are in normal-form: the handles, charats, numerals, booleans, closures, stringers, environment designators, streamers, and some of the rails (those whose constituents are in normal form). See the table in section 111.l3648d2999x3j\b11B37i11I13i6I28i16I57i19I17f2 1f0 5f2 1f0 61f7 6f0 158i4I Normalise A form of simplification in which structures are converted into a normal-form (q.v.) codesignating (q.v.) structure.l3648d2999x3j\b9B Notation xxxl3648d2999x3j\b8B Number The standard mathematical notion (external, abstract, Platonic, whatever). 3-LISP deals only with integer numbers.l3648d2999x3j\b6B82f7 5f0 Numeral A non-composite internal structure that is a normal-form and canonical designator of a number. The 3-LISP field is presumed to have an infinite number of numerals, one per number.l3648d2999x3j\b7B105f7 6f0 Order xxxl3648d2999x3j\b5B Pair A "composite" internal structure, used to encode redexes (reducible expressions). Each pair has a CAR and a CDR; the pair designates the value of the function designated by the CAR applied to the arguments designated by the CDR (if the function is extensional).l3648d2999x3j\b4B104f7 3f0 7f7 3f0 66f7 3f0 44f7 3f0 21i11I Phi (F) xxxl3648d2999x3j\b3B2f2 2f0 Psi (Y) xxxl3648d2999x3j\b3B2f2 2f0 Primitive xxxl3648d2999x3j\b9B Procedural Consequence xxxl3648d2999x3j\b10f9 1f0 11B Processor xxxl3648d2999x3j\b9B Procedure xxxl3648d2999x3j\b9B Quotation xxxl3648d2999x3j\b9B Rail xxxl3648d2999x3j\b4B Redex (Short for reducible expression) An internal structure that encodes designators of functions and arguments, capable of being reduced into normal-form.l3648d2999x3j\b5B16i20I120f8 Reduce xxx Reductionl3648d2999x3j\b6B10b9B Referent xxxl3648d2999x3j\b8B Referential Transparency xxxl3648d2999x3j\b24B Reflect xxxl3648d2999x3j\b7B Reflection xxxl3648d2999x3j\b10B Reflective xxxl3648d2999x3j\b10B Reflective Processor xxxl3648d2999x3j\b20B Reflective Procedure xxxl3648d2999x3j\b20B Result xxxl3648d2999x3j\b6B Returns xxxl3648d2999x3j\b7B Semantics xxxl3648d2999x3j\b9B Semantically Rationalised xxxl3648d2999x3j\b25B Semantically Flat xxxl3648d2999x3j\b17B Sequence The standard mathematical notion of an ordered set of objects. The same element may occur at different positions in the sequence (thus the sequence designated by [1 2 1] is of length 3 and contains two occurences of the number 1), but there is only one sequence with the same elements at each position. Sequences may be of null, finite, or infinite length.l3648d2999x3j\b8B168f3 7f0 Side Effect xxxl3648d2999x3j\b11B Significance xxxl3648d2999x3j\b12B Simple xxxl3648d2999x3j\b6B Simplification xxxl3648d2999x3j\b14B Stable xxxl3648d2999x3j\b6B Standard xxxl3648d2999x3j\b8B Standard Notation The internalisation function Q that maps from external lexical notation into internal structures can be changed by the user; it is not considered a primitive part of the language. Nonetheless there is a standard notation, which is used throughout this manual, and is translated by the version of Q that is provided with 3-LISP. It is documented in section 4.l3648d2999x3j\b17B9i24I1f2 1f0 174i8I85f2 1f0 23f7 6f0 Static Scoping xxxl3648d2999x3j\b14B Stream xxxl3648d2999x3j\b6B Streamer xxxl3648d2999x3j\b8B String xxxl3648d2999x3j\b6B Stringer xxxl3648d2999x3j\b8B Structural Field The full collection of internal structures, relationships defined over them, and accessbility relationships that, together with the 3-LISP processor, constitute the 3-LISP machine. l3648d2999x3j\b16B137f7 6f0 27f7 6f0 Structure xxxl3648d2999x3j\b9B Syntax xxxl3648d2999x3j\b6B Tail-Recursive A position within a composite structure is tail-recursive with respect to the overall structure if the processing of any structure in that position can be done with the same continuation as is used for the encompassing structure. Thus for example ... Also, a processor runs programs tail-recursively if it in fact processes program fragments that are in tail-recursive positions ...l3648d2999x3j\b14B48i14I228i16I Theta (Q) xxxl3648d2999x3j\b5B2f2 2f0 Token xxxl3648d2999x3j\b5B Truth-Values xxxl3648d2999x3j\b12B Type1 (as opposed to token)l3648d2999x3j\b4f7o254 1f0o0B Type2 (of the "sort" variety)l3648d2999x3j\b4f7o254 1f0o0B Type Alignment A correspondence between the types of internal structure, procedural consequence, and declarative import.l3648d2999x3j\b4f9 1f0 9B Use (As opposed to Mention'.)l3648d2999x3j\b3B Unsorted xxxl3648d2999x3j\b8B Untyped xxxl3648d2999x3j\b7B Value The result of applying a mathematical function to its arguments. Thus the value of the addition function applied to the numbers 1 and 2 is the number 3. As opposed to normal-forms, values need not be internal structures.l3648d2999x3j\b5B80i5I Variable xxxl3648d2999x3j\b8B Vector xxxl3648d2999x3j\b6B Y-Operator xxxl3648d2999x3j\b10B