Page Numbers: Yes X: 306 Y: 1.0" First Page: 60 Margins: Top: 1.0" Bottom: 1.3" Heading: z18344l3000x3e4qk40(0,65535)\g CS-370 (FALL 1982) 3-LISP REFERENCE MANUAL October 25, 1982l3000d2469y756x3e4qk40(0,2999)(1,8678)(2,16416)(13,0)\f7g1f1 x3c(1270)\f5bg 13. General Procedure Indexx3c\f5bg x3c\f5bg l6080d2999x3k100(0,6080)(1,8359)(2,65535)(13,65535)\g ^EXP 111l7874d3000x3k40(0,3704)(1,7872)\f3bg1B3G1f7 3f3g ^EXP 111l7874d3000x3k40\f4g1f3 3G1f7 3f3g (= I1 I2 ... Ik) 111l7874d3000x3k40\f3g1b1B2f6o254 1f3o0G2f6o254 1f3o0 1f7 3f3 2f6o254 1f3o0 2f7 3f3g (+ N1 N2 ... Nk) 111l7874d3000x3k40\f3g1b1B2f6o254 1f3o0G1g1f6o254G1f3o0 1f7 3f3 1g1f6o254G1f3o0 2f7 3f3g (- N1 N2 ... Nk) 111l7874d3000x3k40\f3g1b1B2f6o254 1f3o0G1g1f6o254G1f3o0 1f7 3f3 1g1f6o254G1f3o0 2f7 3f3g (* N1 N2 ... Nk) 111l7874d3000x3k40\f3g1b1B2f6o254 1f3o0G1g1f6o254G1f3o0 1f7 3f3 1g1f6o254G1f3o0 2f7 3f3g (/ N1 N2 ... Nk) 111l7874d3000x3k40\f3g1b1B2f6o254 1f3o0G1g1f6o254G1f3o0 1f7 3f3 1g1f6o254G1f3o0 2f7 3f3g (< N1 N2 ... Nk) 111l7874d3000x3k40\f3g1b1B2f6o254 1f3o0G1g1f6o254G1f3o0 1f7 3f3 1g1f6o254G1f3o0 2f7 3f3g (> N1 N2 ... Nk) 111l7874d3000x3k40\f3g1b1B2f6o254 1f3o0G1g1f6o254G1f3o0 1f7 3f3 1g1f6o254G1f3o0 2f7 3f3g (<= N1 N2 ... Nk) 111l7874d3000x3k40\f3g1b2B2f6o254 1f3o0G1g1f6o254G1f3o0 1f7 3f3 1g1f6o254G1f3o0 2f7 3f3g (>= N1 N2 ... Nk) 111l7874d3000x3k40\f3g1b2B2f6o254 1f3o0G1g1f6o254G1f3o0 1f7 3f3 1g1f6o254G1f3o0 2f7 3f3g (1+ N) 111l7874d3000x3k40\f3g1b2B2G2f7 3f3g (1- N) 111l7874d3000x3k40\f3g1b2B2G2f7 3f3g (1ST VECTOR) 111l7874d3000x3k40\f3g1b3B7G2f7 3f0g (2ND VECTOR) 111l7874d3000x3k40\f3g1b3B7G2f7 3f0g (3RD VECTOR) 111l7874d3000x3k40\f3g1b3B7G2f7 3f0g (4TH VECTOR) 111l7874d3000x3k40\f3g1b3B7G2f7 3f0g (5TH VECTOR) 111l7874d3000x3k40\f3g1b3B7G2f7 3f0g (6TH VECTOR) 111l7874d3000x3k40\f3g1b3B7G2f7 3f0g (ABS N) 111l7874d3000x3k40\f3g1b3B2G2f7 3f3g (ACONS) 111l7874d3000x3k40\f3g1b5B1G1f7 3f3g (ADVISE PROC ADVICE) 111l7874d3000x3k40\f3g1b6B12G2f7 3f3g (ADVISE-ON-ENTRY PROC ADVICE) 111l7874d3000x3k40\f3g1b15B12G2f7 3f3g (ADVISE-ON-EXIT PROC ADVICE) 111l7874d3000x3k40\f3g1b14B12G2f7 3f3g (AND TV1 TV2 ... TVk) 111l7874d3000x3k40\f3g1b3B3f6o254 1f3o0 3f6o254 1f3o0 1f7 3f3 3f6o254 1f3o0G2f7 3f3g (APPEND V1 V2 ... Vk) 111l7874d3000x3k40\f3g1b6B2f6o254 1f3o0G1g1f6o254G1f3o0g1f7 3f3 2f6o254 1f3o0G2f7 3f0g (ATOM I) 111l7874d3000x3k40\f3g1b4B3G1f7 3f3g (BIND VAR ENV) 111l7874d3000x3k40\f3g1b4B9f7 4f3 (BINDING VAR ENVIRONMENT) 111l7874d3000x3k40\f3g1b7B16G2f7 3f3g (BLOCK EXP1 EXP2 ... EXPk) 111l7874d3000x3k40\f3g1b5B4f6o254 1f3o0 4f6o254 1f3o0 1f7 3f3 4f6o254 1f3o0G2f7 3f3g (BODY CLOSURE) 111l7874d3000x3k40\f3g1b4B8G2f7 3f0g (BOOLEAN I) 111l7874d3000x3k40\f3g1b7B2G2f7 3f3g (BREAK PROC) 111l7874d3000x3k40\f3g1b5B5G2f7 3f3g (CAR P) 111l7874d3000x3k40\f3g1b3B2G2f7 3f0g (CCONS TYPE ENV PATTERN BODY) 111l7874d3000x3k40\f3g1b5B22G2f7 3f0g (CDR P) 111l7874d3000x3k40\f3g1b3B2G2f7 3f0g (CLOSURE-ENV CLOSURE) 111l7874d3000x3k40\f3g1b11B8G2f7 3f0g (CHARACTER I) 111l7874d3000x3k40\f3g1b9B2G2f7 3f3g (CHARAT I) 111l7874d3000x3k40\f3g1b6B3G1f7 3f3g (CLOSURE I) 111l7874d3000x3k40\f3g1b7B2G2f7 3f3g (CONCATENATE V1 V2) 111l7874d3000x3k40\f3g1b11B2f6o254 1f3o0G1g1f6o254G1f3o0 2f7 3f0g (COND [PREMISE1 C1] ... [PREMISEk Ck]) 111l7874d3000x3k40\f3g1b4B9f6o254 1f3o0 2f6o254 1f3o0 2f7 3f3 9f6o254 1f3o0 2f6o254 1f3o0 1G2f7 3f3g (COPY VECTOR) 111l7874d3000x3k40\f3g1b4B7G2f7 3f0g (DE-REFLECT CLOSURE) 111l7874d3000x3k40\f3g1b10B8G2f7 3f3g (DEFINE NAME FUNCTION) 111l7874d3000x3k40\f3g1b6B14G2f7 3f3g (DO [[V1 I1 F1] ... [Vk Ik Fk]] [[TV1 RET1] ... [TVj RETj]] BODY1 ... BODYm) 111l3008x3k40\f3g1b2B4f6o254 1f3o0G2f6o254 1f3o0 2f6o254 1f3o0 2f7 3f3 2g1f6o254 1f3o0G2f6o254g1f3o0G2f6o254g1f3o0G11f6o254 1f3o0 4f6o254 1f3o0 2f7 3f3 4f6o254 1f3o0 4f6o254 1f3o0 11f6o254 1f3o0 1f7 3f3 5f6o254 1f3o0 2f7 3f0g (DOUBLE VECTOR) 111l7874d3000x3k40\f3g1b6B7G2f7 3f0g (DOWN I) 111l7874d3000x3k40\f3g1b4B2G2f7 3f3g (E-MACRO ENV PATTERN BODY) 111l7874d3000x3k40\f3g1b7B17G2f7 3f3g (E-REFLECT ENV PATTERN BODY) 111l7874d3000x3k40\f3g1b9B17G2f7 3f3g (EF PREMISE C1 C2) 111l7874d3000x3k40\f3g1b2B10f6o254 1f3o0 2f6o254 1f3o0G2f7 3f3g (EMPTY VECTOR) 111l7874d3000x3k40\f3g1b5B7G2f7 3f0g (ERROR DATA MESSAGE) 111l7874d3000x3k40\f3g1b5B13G2f7 3f3g (EVEN N) 111l7874d3000x3k40\f3g1b4B2G2f7 3f3g (EXTERNAL I) 111l7874d3000x3k40\f3g1b8B2G2f7 3f3g (EXTERNALISATION I) 111l7874d3000x3k40\f3g1b15B2G2f7 3f3g (FOOT VECTOR) 111l7874d3000x3k40\f3g1b4B7G2f7 3f0g (FUNCTION I) 111l7874d3000x3k40\f3g1b8B2G2f7 3f3g (HANDLE I) 111l7874d3000x3k40\f3g1b6B3G1f7 3f3g (HASH I) 111l7874d3000x3k40\f3g1b4B2G2f7 3f3g (ID EXP) 111l7874d3000x3k40\f3g1b2B4G2f7 3f3g (ID* EXP1 EXP2 ... EXPk) 111l7874d3000x3k40\f3g1b3B4f6o254 1f3o0 4f6o254 1f3o0 1f7 3f3 4f6o254 1f3o0G2f7 3f3g (IF PREMISE C1 C2) 111l7874d3000x3k40\f3g1b2B10f6o254 1f3o0 2f6o254 1f3o0G2f7 3f3g (INPUT STREAM) 111l7874d3000x3k40\f3g1b5B7G2f7 3f3g (INTERNAL I) 111l7874d3000x3k40\f3g1b8B2G2f7 3f3g (INTERNALISATION STRING) 111l7874d3000x3k40\f3g1b15B7G2f7 3f3g (ISOMORPHIC S1 S2 ... Sk) 111l7874d3000x3k40\f3g1b10B2f6o254 1f3o0 2f6o254 1f3o0 1f7 3f3 2f6o254 1f3o0G2f7 3f3g (LABELS [[NAME1 FUN1] ... [NAMEk FUNk]] BODY) 111l7874d3000x3k40\f3g1b6B7f6o254 1f3o0 4f6o254 1f3o0 2f7 3f3 6f6o254 1f3o0 4f6o254 1f3o0 7G2f7 3f3g (LAMBDA TYPE PATTERN BODY) 111l7874d3000x3k40\f3g1b6B18G2f7 3f3g (LENGTH VECTOR) 111l7874d3000x3k40\f3g1b6B7G2f7 3f0g (LET [[PATTERN1 BINDING1] ... [PATTERNk BINDINGk]] BODY) 111l7874d3000x3k40\f3g1b3B10f6o254 1f3o0 8f6o254 1f3o0 2f7 3f3 9f6o254 1f3o0 8f6o254 1f3o0 7G2f7 3f3g (LETSEQ [[PATTERN1 BINDING1] ... [PATTERNk BINDINGk]] BODY) 111l7874d3000x3k40\f3g1b6B10f6o254 1f3o0 8f6o254 1f3o0 2f7 3f3 9f6o254 1f3o0 8f6o254 1f3o0 7G2f7 3f3g (LEVEL) 111l7874d3000x3k40\f3g1b5BG2f7 3f3g (LEVEL-QUIT) 111l7874d3000x3k40\f3g1b10BG2f7 3f3g (MACRO ENV PATTERN BODY) 111l7874d3000x3k40\f3g1b5B17G2f7 3f3g (MAP FUN I1 I2 ... Ik) 111l7874d3000x3k40\f3g1b3B6f6o254 1f3o0G2f6o254 1f3o0 1f7 3f3 2f6o254 1f3o0 2f7 3f0g (MAX N1 N2 ... Nk) 111l7874d3000x3k40\f3g1b3B2f6o254 1f3o0G1g1f6o254G1f3o0 1f7 3f3 1g1f6o254G1f3o0 2f7 3f3g (MAXIMALLY REL VEC) 111l7874d3000x3k40\f3g1b9B8G2f7 3f3g (MEMBER E VEC) 111l7874d3000x3k40\f3g1b6B6G2f7 3f0g (MIN N1 N2 ... Nk) 111l7874d3000x3k40\f3g1b3B2f6o254 1f3o0G1g1f6o254G1f3o0 1f7 3f3 1g1f6o254G1f3o0 2f7 3f3g (MOD N1 N2) 111l7874d3000x3k40\f3g1b3B2f6o254 1f3o0G1g1f6o254G1f3o0 2f7 3f3g (MULTI-Y-OPERATOR FUNCTION) 111l7874d3000x3k40\f3g1b16B9G2f7 3f3g (NEGATIVE N) 111l7874d3000x3k40\f3g1b8B2G2f7 3f3g (NEWLINE) 111l7874d3000x3k40\f3g1b7BG2f7 3f3g (NON-NEGATIVE N) 111l7874d3000x3k40\f3g1b12B2G2f7 3f3g (NORMAL S) 111l7874d3000x3k40\f3g1b6B2G2f7 3f3g (NORMAL-RAIL RAIL) 111l7874d3000x3k40\f3g1b11B5G2f7 3f3g (NORMALISE EXP ENV CONT) 111l7874d3000x3k40\f3g1b9B13G2f7 3f3g (NORMALISE-RAIL RAIL ENV CONT) 111l7874d3000x3k40\f3g1b14B14G2f7 3f3g (NOT TV) 111l7874d3000x3k40\f3g1b3B3G2f7 3f3g (NTH INDEX VECTOR) 111l7874d3000x3k40\f3g1b3B13G2f7 3f0g (NUMBER S) 111l7874d3000x3k40\f3g1b6B2G2f7 3f3g (NUMERAL S) 111l7874d3000x3k40\f3g1b7B3G1f7 3f3g (ODD N) 111l7874d3000x3k40\f3g1b3B2G2f7 3f3g (OR TV1 TV2 ... TVk) 111l7874d3000x3k40\f3g1b2B3f6o254 1f3o0 3f6o254 1f3o0 1f7 3f3 3f6o254 1f3o0G2f7 3f3g (OUTPUT I STREAM) 111l7874d3000x3k40\f3g1b6B9G2f7 3f3g (PAIR I) 111l7874d3000x3k40\f3g1b4B3G1f7 3f3g (PATTERN CLOSURE) 111l7874d3000x3k40\f3g1b7B8G2f7 3f0g (PCONS I1 I2) 111l7874d3000x3k40\f3g1b5B2f6o254 1f3o0G2f6o254 1f3o0 2f7 3f0g (POP STACK) 111l7874d3000x3k40\f3g1b3B6G2f7 3f3g (POSITIVE N) 111l7874d3000x3k40\f3g1b8B2G2f7 3f3g (PREP ELEMENT VECTOR) 111l7874d3000x3k40\f3g1b4B15G2f7 3f0g (PRIMITIVE PROC) 111l7874d3000x3k40\f3g1b9B5G2f7 3f3g (PRINT I STREAM) 111l7874d3000x3k40\f3g1b5B9G2f7 3f3g (PROCEDURE-TYPE I) 111l7874d3000x3k40\f3g1b14B2G2f7 3f3g (PROMPT S STREAM) 111l7874d3000x3k40\f3g1b6B9G2f7 3f3g (PUSH I STACK) 111l7874d3000x3k40\f3g1b4B8G2f7 3f3g (QUIT) 111l7874d3000x3k40\f3g1b4BG2f7 3f3g (RAIL I) 111l7874d3000x3k40\f3g1b4B3G1f7 3f3g (RANDOM SEED) 111l7874d3000x3k40\f3g1b6B6G1f7 3f3g (RCONS I1 I2 ... Ik) 111l7874d3000x3k40\f3g1b5B2f6o254 1f3o0G2f6o254 1f3o0 1f7 3f3 2f6o254 1f3o0 2f7 3f0g (READ STREAM) 111l7874d3000x3k40\f3g1b4B7G2f7 3f3g (READ-NORMALISE-PRINT LEVEL ENV STREAM) 111l7874d3000x3k40\f3g1b20B17G2f7 3f3g (REBIND VAR1 BINDING ENVIRONMENT) 111l7874d3000x3k40\f3g1b6B4f6o254 1f3o0 20G2f7 3f3g (REDUCE PROC ARGS ENV CONT) 111l7874d3000x3k40\f3g1b6B19G2f7 3f3g (REFLECT ENV PATTERN BODY) 111l7874d3000x3k40\f3g1b7B17G2f7 3f3g (REFLECTIVE PROC) 111l7874d3000x3k40\f3g1b10B5G2f7 3f3g (REMAINDER N1 N2) 111l7874d3000x3k40\f3g1b9B2f6o254 1f3o0G1g1f6o254G1f3o0 2f7 3f3g (REPLACE I1 I2) 111l7874d3000x3k40\f3g1b7B2f6o254 1f3o0 2f6o254 1f3o0G2f7 3f3g (REPLY S STREAM) 111l7874d3000x3k40\f3g1b5B9G2f7 3f3g (REST VECTOR) 111l7874d3000x3k40\f3g1b4B7G2f7 3f0g (REVERSE VECTOR) 111l7874d3000x3k40\f3g1b7B7G2f7 3f0g (REVERSE-IN-PLACE VECTOR) 111l7874d3000x3k40\f3g1b16B7G2f7 3f0g (RPLACA I1 PAIR I2) 111l7874d3000x3k40\f3g1b6B2f6o254 1f3o0 7f6o254 1f3o0G2f7 3f3g (RPLACD I1 PAIR I2) 111l7874d3000x3k40\f3g1b6B2f6o254 1f3o0 7f6o254 1f3o0G2f7 3f3g (RPLACN INDEX RAIL I) 111l7874d3000x3k40\f3g1b6B13G2f7 3f3g (RPLACT INDEX RAIL I) 111l7874d3000x3k40\f3g1b6B13G2f7 3f3g (SCONS I1 I2 ... Ik) 111l7874d3000x3k40\f3g1b5B2f6o254 1f3o0G2f6o254 1f3o0 1f7 3f3 2f6o254 1f3o0 2f7 3f0g (SELECT INDEX [MATCH1 C1] ... [MATCHk Ck]) 111l7874d3000x3k40\f3g1b6B13f6o254 1f3o0 2f6o254 1f3o0 2f7 3f3 7f6o254 1f3o0 2f6o254 1f3o0 1G2f7 3f3g (SELECTQ INDEX [MATCH1 C1] ... [MATCHk Ck]) 111l7874d3000x3k40\f3g1b7B13f6o254 1f3o0 2f6o254 1f3o0 2f7 3f3 7f6o254 1f3o0 2f6o254 1f3o0 1G2f7 3f3g (SEQUENCE I) 111l7874d3000x3k40\f3g1b8B2G2f7 3f3g (SET PATTERN BINDING) 111l7874d3000x3k40\f3g1b3B16G2f7 3f3g (SETREF VAR BINDING) 111l7874d3000x3k40\f3g1b6B12G2f7 3f3g (SIMPLE ENV PATTERN BODY) 111l7874d3000x3k40\f3g1b6B17G2f7 3f0g (STREAM S) 111l7874d3000x3k40\f3g1b6B2G2f7 3f3g (STREAMER S) 111l7874d3000x3k40\f3g1b8B2G2f7 3f3g (TAIL INDEX VECTOR) 111l7874d3000x3k40\f3g1b4B13G2f7 3f0g (TRACE PROC) 111l7874d3000x3k40\f3g1b5B5G2f7 3f3g (TRUTH-VALUE I) 111l7874d3000x3k40\f3g1b11B2G2f7 3f3g (TYPE S) 111l7874d3000x3k40\f3g1bG4Bg2G2f7 3f3g (UNIT VECTOR) 111l7874d3000x3k40\f3g1b4B7G2f7 3f0g (UP I) 111l7874d3000x3k40\f3g1b2B2G2f7 3f3g (VECTOR I) 111l7874d3000x3k40\f3g1b6B2G2f7 3f3g (VECTOR-CONSTRUCTOR TEMPLATE) 111l7874d3000x3k40\f3g1b18B9G2f7 3f0g (XCONS I1 I2 ... Ik) 111l7874d3000x3k40\f3g1b5B2f6o254 1f3o0G2f6o254 1f3o0 1f7 3f3 2f6o254 1f3o0 2f7 3f0g (Y-OPERATOR FUNCTION) 111l7874d3000x3k40\f3g1b10B9G2f7 3f3g (ZERO N) 111l7874d3000x3k40\f3g1b4B2G2f7 3f3g l3000x0k40(0,65535)(1,65535)\g44f5b l3000x0k40 x3c(1270)\f5bg 14. A 3-LISP Glossaryx3c\f5bg x3c\f5bg x3e10j\g Accessible  An internal structure is accessible if it is the value of one of the 8 binary functions defined over the structural field (CAR, CDR, FIRST, REST, ENV, PATTERN, BODY, 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)\f9bg10f0B30i10I88f7 3f0 2f7 3f0 2f7 5f0 2f7 4f0 2f7 3f0 2f7 7f0 2f7 4f0 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\f9bg5f0B104i11I Atom  A non-composite internal structure used as a environment-relative name.l3648d2999x3j\f9bg4f0B 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.l3648d2999x3j\f9bg10f0B48f7 7f0 134f7 6f0 75f7 1f3 10f0 13f3 22f0 24f3 8f0 28f3 1f0 13f3 2f0 5f3 1f0 4f3 2f0 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\f9bg7f0B178f3 2f0 7f3 2f0 C0, C1, C2, C3  The four standard continuations engendered at each reflective level by the reflective processor. See sections 111.l3648d2999x3j\f9bg14f0B Category Alignment  A correspondence between the categories of internal structure, procedural consequence, and declarative import.l3648d2999x3j\f9bg18f0B 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\f9bg6f0B181f3 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\f9bg7f0B142f3 5f0 2i4I159f3 4f0 2f3 7f0 6f3 4f0 Completely Inaccessible  See Accessible'.l3648d2999x3j\f9bg23f0B Continuation  xxxl3648d2999x3j\f9bg12f0B 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\f9bg18f0B56f7 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.l3648d2999x3j\f9bg9f0B39f7 1f0 24f2 1f7 3f0 28f3 1f0 48f3 1f0 39f3 2f0 21f3 1f0 21f3 21f0 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\f9bg11f0B230f7 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 designata or onto co-designative simpler expressions.l3648d2999x3j\f7bg8f0B Extensional  xxxl3648d2999x3j\f9bg11f0B External Structure  xxxl3648d2999x3j\f9bg18f0B 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\f9bg8f0B 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\f9bg6f0B210f1 1f3 2f1 1f0 33f3 1f0 Inaccessible  See Accessible'. l3648d2999x3j\f9bg12f0B Intensional  xxxl3648d2999x3j\f9bg11f0B Internal Structures  Any of the ingredients in the 3-LISP structural field.l3648d2999x3j\f9bg19f0B35f7 6f0 Macro  xxxl3648d2999x3j\f9bg5f0B Meta-structural  xxxl3648d2999x3j\f9bg15f0B Normal Form  Structures are defined to be in normal-form if they are context-independent (neither Y nor F depends on the environment or continuation), side-effect free (processing them engenders no side-effects), and stable (self-normalising). Of the eight 3-LISP structure types, five and a half are in normal-form: the handles, charats, numerals, booleans, closures, and some of the rails (those whose constituents are in normal form). See the table in section 111.l3648d2999x3j\f9bg11f0B37i11I13i19I10f2 1f0 5f2 1f0 46i16I50i6I35f7 6f0 110i4I Normalise  A form of simplification in which expressions are converted into a normal-form codesignating expression.l3648d2999x3j\f9bg9f0B Number  The standard mathematical notion (external, abstract, Platonic, whatever).l3648d2999x3j\f9bg6f0B 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\f9bg7f0B105f7 6f0 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\f9bg4f0B104f7 3f0 7f7 3f0 66f7 3f0 44f7 3f0 21i11I Procedural Consequence  xxxl3648d2999x3j\f9bg22f0B Procedure  xxxl3648d2999x3j\f9bg9f0B Quotation  xxxl3648d2999x3j\f9bg9f0B Rail  xxxl3648d2999x3j\f9bg4f0B Redex  (Short for reducible expression) An internal structure that encodes designators of functions and arguments, capable of being reduced into normal-form.l3648d2999x3j\f9bg5f0B16i20I120f8 Reduce  xxxl3648d2999x3j\f9bg6f0B Referent  xxxl3648d2999x3j\f9bg8f0B Reflect  xxxl3648d2999x3j\f9bg7f0B Reflection  xxxl3648d2999x3j\f9bg10f0B Semantically Rationalised  xxxl3648d2999x3j\f9bg25f0B 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\f9bg8f0B168f3 7f0 Significance  xxxl3648d2999x3j\f9bg12f0B Simple  xxxl3648d2999x3j\f9bg6f0B 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\f9bg17f0B9i24I1f2 1f0 174i8I85f2 1f0 23f7 6f0 Static Scoping  xxxl3648d2999x3j\f9bg14f0B String  xxxl3648d2999x3j\f9bg6f0B 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\f9bg16f0B137f7 6f0 27f7 6f0 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\f9bg14f0B48i14I228i16I Unsorted  xxxl3648d2999x3j\f9bg8f0B Untyped  xxxl3648d2999x3j\f9bg7f0B 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\f9bg5f0B80i5I Variable  xxxl3648d2999x3j\f9bg8f0B