home *** CD-ROM | disk | FTP | other *** search
-
- [EVAL.REC]
- [the LISP function EVAL]
- [January 1, 1981]
-
- {
- [cr,lf] (2573TL;)&
- [console input] (R13%='';T127%(=)(@#|;L@#;);)#
- [bal paren] (A')'E;'('E@+::)+
- [next element] (A'('E@+JA;j' 'U;')'U;)-
- [enclose in quotes] (JZD39%II39%IJQ;)%
- [car] (JZDI@-Q;)1
- [cdr] (JZDI@-D(' 'ED;;)JZQ;)2
- [cons] (JZD('()'='('II')'I;IAjI' 'I;)JZQ;)3
- [atom] (JZDI'('E'F';'T';)4
- [eq] (='T';L'F';)5
- [null] ('()'='T';L'F';)6
- [read] (@&'> 'TL(@#;:);)7
- [print] (@&' 'TLT;)8
- [append] (JZDIjIzABBD' 'IJZQ;)9
- [not] ('T'='F';'F'='T';;)0
-
- [ASSOC]
- (1$rmml1$S0$rmml0$S(0$ryG1$ryG@1@5'T'=1$ryG@2@1;L0$ryG1$ryG@2@2@a;)nLn0$SnLn1$S ;)a
-
-
- [EVAL]
- (2$rmml2$S0$rmml0$S(0$ryG@4'T'=0$ryG2$ryG@a;L0$ryG@1@4'T'=0$ryG@10$ryG@2@f;L0$ryG@1@1"lambda"@5'T'=0$ryG@1@2@2@10$ryG@1@2@10$ryG@2@v@e;L;)nLn0$SnLn2$S ;)e
-
-
- [the most primitive atomic function forms]
- (1$rmml1$S0$rmml0$S(0$ryG"car"@5'T'=1$ryG@12$ryG@e@1;L0$ryG"cdr"@5'T'=1$ryG@12$ryG@e@2;L0$ryG"cons"@5'T'=1$ryG@12$ryG@e1$ryG@2@12$ryG@e@3;L0$ryG"atom"@5'T'=1$ryG@12$ryG@e@4;L0$ryG"eq"@5'T'=1$ryG@12$ryG@e1$ryG@2@12$ryG@e@5;L0$ryG"quote"@5'T'=1$ryG@1;L0$ryG"if"@5'T'=(1$ryG@12$ryG@e'T'=1$ryG@2@12$ryG@e;L1$ryG@2@2@12$ryG@e;);L'T''T'=@g;L;)nLn0$SnLn1$S ;)f
-
-
- [convenient atomic function forms]
- ((0$ryG"and"@5'T'=1$ryG@n;L0$ryG"or"@5'T'=1$ryG@o;L0$ryG"not"@5'T'=1$ryG@12$ryG@e@0;L0$ryG"list"@5'T'=1$ryG@l;L0$ryG"append"@5'T'=1$ryG@12$ryG@e1$ryG@2@12$ryG@e@9;L0$ryG"cond"@5'T'=1$ryG@m;L'T''T'=@h;L;) ;)g
-
-
- [CAR and CDR composites]
- ((0$ryG"caar"@5'T'=1$ryG@12$ryG@e@1@1;L0$ryG"cadr"@5'T'=1$ryG@12$ryG@e@2@1;L0$ryG"cdar"@5'T'=1$ryG@12$ryG@e@1@2;L0$ryG"cddr"@5'T'=1$ryG@12$ryG@e@2@2;L'T''T'=@i;L;) ;)h
-
-
- [service functions]
- ((0$ryG"print"@5'T'=1$ryG@12$ryG@e@8;L0$ryG"read"@5'T'=@7;L;) ;)i
-
-
- [EVLIS - evaluate a LIST]
- (1$rmml1$S(1$ryG@6'T'=1$ryG;L1$ryG@12$ryG@e1$ryG@2@l@3;)nLn1$S ;)l
-
-
- [EVCON - evaluate COND]
- (1$rmml1$S(1$ryG@1@12$ryG@e'T'=1$ryG@1@2@12$ryG@e;L1$ryG@2@m;)nLn1$S ;)m
-
-
- [EVAND - evaluate an AND]
- (1$rmml1$S(1$ryG@6'T'='T';L(1$ryG@12$ryG@e'T'=1$ryG@2@n'T'='T';;)'T'='T';L'F';)nLn1$S ;)n
-
-
- [EVOR - evaluate an OR]
- (1$rmml1$S(1$ryG@6@0'T'=(1$ryG@12$ryG@e'T'='T';L1$ryG@2@o'T'='T';L'F';)'T'='T';;)nLn1$S ;)o
-
-
- [EVARGS - augment ALIST for LAMBDA]
- (1$rmml1$S0$rmml0$S(0$ryG@6'T'=2$ryG;L0$ryG@11$ryG@12$ryG@e0$ryG@21$ryG@2@v@3@3;)nLn0$SnLn1$S ;)v
-
-
- [main program]
- (@7"()"@e@8 ;)*
-
- (@*;;)}
-
- [end]
-