$ od -c -N 50000 [phylum]<3-LISP>DESRIVIERES>PRELIMINARY>3CODE.TED!1 0000000 P r o p o s e d 3 - C O D E : 0000020 b y t e c o d e s f o r 3 0000040 - L I S P . \r \r J i m d e s 0000060 R i v i e r e s \r N o v e m b e 0000100 r 4 t h , 1 9 8 3 \r \r F i l 0000120 e d o n : { p h y l u m } < 0000140 d e s r i v i e r e s > n l i s 0000160 p > 3 c o d e . t e d \r \r V a r 0000200 i a b l e r e f e r e n c e s 0000220 \r \r F u n c t i o n a l i t y : 0000240 L o o k u p t h e b i 0000260 n d i n g o f a 3 - L I 0000300 S P v a r i a b l e i n t 0000320 h e c u r r e n t e n v i r 0000340 o n m e n t . P u s h t h 0000360 e r e s u l t o n t h e 0000400 a r g u m e n t s t a c k . 0000420 \r \r A r g u m e n t s : O n 0000440 e i n t h e i n s t r u c 0000460 t i o n : t h e 3 - L I S P 0000500 v a r i a b l e t o b e 0000520 l o o k e d u p ( a L I S 0000540 P a t o m ) . ( I t i s 0000560 c o n c e i v a b l e t h a 0000600 t a s l i g h t l y m o r 0000620 e c o m p l i c a t e d p a 0000640 r a m e t e r w i l l b e 0000660 u s e d , o n e w h i c h 0000700 l o c a t e s a c a c h e d 0000720 v a l u e , e t c . ) \r \r ( 0000740 N o t e : W e a r e a s 0000760 s u m i n g f o r t h e t 0001000 i m e b e i n g t h a t t 0001020 h e c o m p i l e r w i l l 0001040 b e q u i t e n a i v e 0001060 i n s o f a r a s v a r 0001100 i a b l e r e f e r e n c e s 0001120 a r e c o n c e r n e d . ) 0001140 \r \r N e w b y t e c o d e 0001160 : \r [ 3 V A R v a r i a 0001200 b l e ] ; l e n g t h 4 ; 0001220 f o r m a t A T O M ; s t a 0001240 c k e f f e c t + 1 ; u f 0001260 n 3 V A R - U F N . \r \r I m p 0001300 l e m e n t a t i o n : \r 0001320 \r ( d a t a t y p e e 0001340 n v i r o n m e n t \r 0001360 ( ( n v a r s b y t e 0001400 ) v a r i a b l e s b i n d 0001420 i n g s n e x t c o n t o u r 0001440 ) ) \r \r ( d e f i n e 3 0001460 v a r - u f n ( l a m b d a 0001500 ( v a r ) \r ( p r o 0001520 g ( c o n t o u r v a r - l 0001540 i s t v a l - l i s t g v a 0001560 l p o s i t i o n ) \r 0001600 ( s e t q c o n t o 0001620 u r * e n v * ) \r 0001640 s e a r c h - c o n t o u r \r 0001660 ( i f ( n u 0001700 l l c o n t o u r ) t h e n 0001720 \r ( * 0001740 L o o k i t u p i n t 0001760 h e g l o b a l e n v i r o 0002000 n m e n t . * ) \r 0002020 ( s e t q g v a 0002040 l ( g e t h a s h v a r * 0002060 g l o b a l - h a s h - a r r a 0002100 y * ) ) \r 0002120 ( i f ( n u l l g v a l 0002140 ) t h e n \r 0002160 ( 3 - l i s p - 0002200 e r r o r ' n o t . f o u n d 0002220 v a r ) ) \r 0002240 ( r e t u r n g v a l 0002260 ) ) \r ( s e t 0002300 q n v a r s ( f e t c h n 0002320 v a r s o f c o n t o u r ) 0002340 ) \r ( s e t q 0002360 v a r - l i s t ( f e t c h 0002400 v a r i a b l e s o f c o 0002420 n t o u r ) ) \r 0002440 ( s e t q v a l - l i s t 0002460 ( f e t c h b i n d i n g s 0002500 o f c o n t o u r ) ) \r 0002520 ( s e t q p o s i 0002540 t i o n 1 ) \r n 0002560 e x t - v a r i a b l e - i n - 0002600 c o n t o u r \r 0002620 ( i f ( e q n v a r s 0 0002640 ) t h e n \r 0002660 ( s e t q c o n t o 0002700 u r ( f e t c h n e x t c o 0002720 n t o u r o f c o n t o u r 0002740 ) ) \r 0002760 ( g o s e a r c h - c o n t o 0003000 u r ) ) \r ( i 0003020 f ( e q v a r ( c a r v 0003040 a r - l i s t ) ) t h e n \r 0003060 ( r e t 0003100 u r n ( e l t v a l - l i s 0003120 t p o s i t i o n ) ) \r 0003140 e l s e \r 0003160 ( s e t q v 0003200 a r - l i s t ( c d r v a r 0003220 - l i s t ) ) \r 0003240 ( s e t q p o s i t 0003260 i o n ( a d d 1 p o s i t i 0003300 o n ) ) \r 0003320 ( s e t q n v a r s ( s 0003340 u b 1 n v a r s ) ) \r 0003360 ( g o n e x 0003400 t - v a r i a b l e - i n - c o 0003420 n t o u r ) ) ) ) \r 0003440 \r \r S t a r t R e d u c t i 0003460 o n \r \r F u n c t i o n a l i t 0003500 y : A l l o c a t e s a 0003520 f r e s h a r g u m e n t f 0003540 r a m e . \r \r A r g u m e n 0003560 t s : O n e i n t h e i 0003600 n s t r u c t i o n : t h e 0003620 n u m b e r o f s l o t s 0003640 r e q u i r e d ( 0 t o 2 0003660 5 5 ) . \r \r ( N o t e : 0003700 F o r t h e t i m e b e i 0003720 n g , a l l c l o s u r e s 0003740 a r e h e a p - a l l o c a 0003760 t e d . ) \r \r N e w b y t e 0004000 c o d e s : \r \r [ 3 S 0004020 T A R T ] ; l e n g t h 2 ; 0004040 f o r m a t S I C ; s t a 0004060 c k e f f e c t 0 ; u f n 0004100 3 S T A R T - U F N . \r \r I m 0004120 p l e m e n t a t i o n : \r \r 0004140 ( d e f i n e 3 s t a r t - 0004160 u f n ( l a m b d a ( n ) \r 0004200 ( p r o g ( ) \r 0004220 ( s e t q * f r a m e 0004240 * ( a r r a y n n i l n 0004260 i l 0 ) ) \r ( s e 0004300 t q * n e x t - s l o t * 0 0004320 ) \r ( r e p l a c e 0004340 n o p u s h o f ( \ m y a 0004360 l i n k ) w i t h t ) ( 0004400 * r o u g h l y ) \r 0004420 ( r e t u r n ) ( * N o 0004440 r e s u l t . ) ) ) ) \r \r \r S 0004460 a v i n g A r g u m e n t s \r 0004500 \r F u n c t i o n a l i t y : 0004520 P o p o n e o r m o r e 0004540 v a l u e o f f o f t h 0004560 e s t a c k a n d s a v e 0004600 t h e m i n t h e n e x 0004620 t a v a i a b l e s l o t s 0004640 o f t h e c u r r e n t 0004660 a r g u m e n t f r a m e . 0004700 \r \r A r g u m e n t s : O n 0004720 e o r m o r e o n t h e 0004740 s t a c k ; o n e i n t 0004760 h e i n s t r u c t i o n . 0005000 \r \r N e w b y t e c o d e s 0005020 : \r [ 3 S A V E n ] ; 0005040 l e n g t h 2 ; f o r m a 0005060 t T ; s t a c k e f f e c 0005100 t - n ; u f n 3 S A V E - 0005120 U F N . \r \r I m p l e m e n t a 0005140 t i o n : \r \r ( d e f i n e 0005160 3 s a v e - u f n ( l a m b 0005200 d a ( n ) \r ( p r o g 0005220 ( ) \r ( s e t q 0005240 * n e x t - s l o t * ( i p l 0005260 u s * n e x t - s l o t * n 0005300 ) ) \r ( f o r i 0005320 f r o m 1 t o n d o \r 0005340 ( s e t a * f 0005360 r a m e * \r 0005400 ( i d i f f e r e n c 0005420 e * n e x t - s l o t * i ) 0005440 \r 0005460 ( p o p - a r g u m e n t - o f 0005500 f - c a l l e r ' s - s t a c k 0005520 ) ) ) \r ( r e p l a 0005540 c e n o p u s h o f ( \ m 0005560 y a l i n k ) w i t h t ) 0005600 ( * r o u g h l y ) \r 0005620 ( r e t u r n ) ( * N 0005640 o r e s u l t . ) ) ) ) \r \r 0005660 \r \r E m b e d d i n g \r \r F u n 0005700 c t i o n a l i t y : T h e 0005720 s t a t e o f t h e c o 0005740 m p u t a t i o n i s s a v 0005760 e d b y c r e a t i n g a 0006000 n e w c o n t i n u a t i o 0006020 n c a p t u r i n g t h e 0006040 a r g u m e n t f r a m e , 0006060 t h e c u r r e n t c o n 0006100 t i n u a t i o n , a n d t 0006120 h e c u r r e n t e n v i r 0006140 o n m e n t , a n d a r e 0006160 t u r n p o s i t i o n i n 0006200 t h e i n s t r u c t i o n 0006220 s t r e a m . \r \r A r g u m 0006240 e n t s : O n e ( k n o w 0006260 n a t c o m p i l e t i m 0006300 e ) . T h e p o s i t i o 0006320 n i n t h e i n s t r u c 0006340 t i o n s t r e a m w h i c 0006360 h i s t o b e r e c o r 0006400 d e d i n t h e c o n t 0006420 i n u a t i o n . \r \r C o 0006440 n s i d e r a t i o n s : 0006460 T h e p o s i t i o n i n 0006500 t h e i n s t r u c t i o n 0006520 s t r e a m w o u l d b e 0006540 c o m p u t e d f r o m a 0006560 r e l a t i v e o f f s e t 0006600 f r o m t h e i n s t r u c 0006620 t i o n . \r \r N e w b y t e 0006640 c o d e : \r [ 3 E M B 0006660 E D ] ; l e n g t h 1 ; f 0006700 o r m a t T ; s t a c k e 0006720 f f e c t - 1 ; u f n 3 E 0006740 M B E D - U F N . \r \r I m p l e 0006760 m e n t a t i o n : \r \r ( d 0007000 a t a t y p e c o n t i n u a 0007020 t i o n \r ( e n v f 0007040 r a m e c o n t ( n e x t - 0007060 s l o t b y t e ) ( p c w 0007100 o r d ) ) ) \r \r ( d e f i n 0007120 e 3 e m b e d - u f n ( l a 0007140 m b d a ( a d d r e s s ) \r 0007160 ( d e c l a r e ( g l o 0007200 b a l v a r s * e n v * * c 0007220 o n t * * f r a m e * * n e 0007240 x t - s l o t * ) ) \r 0007260 ( p r o g \r ( s e t 0007300 q * c o n t * \r 0007320 ( c r e a t e c o n t 0007340 i n u a t i o n \r 0007360 e n v _ * e 0007400 n v * \r 0007420 f r a m e _ * f r a m 0007440 e * \r 0007460 n e x t - s l o t _ * n 0007500 e x t - s l o t * \r 0007520 p c _ a d 0007540 d r e s s \r 0007560 c o n t _ * c o 0007600 n t * ) ) \r ( r e p 0007620 l a c e n o p u s h o f ( 0007640 \ m y a l i n k ) w i t h t 0007660 ) ) ( * r o u g h l y ) \r 0007700 ( r e t u r n ) ( 0007720 * N o r e s u l t . ) ) ) 0007740 ) ) \r \r \r A d d r e s s c o m 0007760 p u t a t i o n \r \r F u n c t i 0010000 o n a l i t y : P u s h o 0010020 n t h e s t a c k t h e 0010040 a d d r e s s w i t h i n t 0010060 h e c o d e a r r a y . 0010100 T h i s i s s o t h a t 0010120 r e t u r n a d d r e s s e s 0010140 c a n b e c r e a t e d 0010160 e x p l i c i t l y . \r \r A r 0010200 g u m e n t s : O n e i n 0010220 t h e i n s t r u c t i o n 0010240 : t h e o f f s e t f r o 0010260 m t h e c u r r e n t i n 0010300 s t r u c t i o n . \r \r N 0010320 e w b y t e c o d e s : \r 0010340 [ 3 A D D R o f f s e t 0010360 ] ; l e n g t h 3 ; f o r 0010400 m a t J U M P X X ; s t a 0010420 c k e f f e c t + 1 ; u f 0010440 n 3 A D D R - U F N . \r \r I m 0010460 p l e m e n t a t i o n : \r \r 0010500 ( d e f i n e 3 A D D R ( 0010520 l a m b d a ( o f f s e t ) \r 0010540 ( * o f f s e t 0010560 a s i n J U M P X X i n 0010600 s t r u c t i o n ; \r 0010620 a n u m b e r b e 0010640 t w e e n - 2 * * 1 5 a n d 0010660 2 * * 1 5 - 1 . ) \r 0010700 ( i p l u s o f f s e t 0010720 ( f e t c h p c o f ( \ m 0010740 y a l i n k ) ) e p s i l o n 0010760 ) ) ) ) \r \r R e t u r n i n g \r 0011000 \r F u n c t i o n a l i t y : 0011020 R e s t o r e s t h e p r 0011040 o c e s s i n g s t a t e c 0011060 a p t u r e d b y t h e c 0011100 u r r e n t c o n t i n u a t 0011120 i o n , e x c e p t w i t h 0011140 t h e s i n g l e e n t r 0011160 y o f t h e a r g u m e n 0011200 t s t a c k m o v e d a c 0011220 r o s s . \r \r A r g u m e n t s 0011240 : O n e o n t h e s t 0011260 a c k . \r \r N e w b y t 0011300 e c o d e : \r [ 3 R E 0011320 T U R N ] ; l e n g t h 1 ; 0011340 s t a c k e f f e c t - 0011360 1 + 1 a n d j u m p s ; u 0011400 f n 3 R E T U R N - U F N . \r 0011420 \r I m p l e m e n t a t i o n : 0011440 \r \r ( d e f i n e 3 r e 0011460 t u r n - u f n ( l a m b d a 0011500 ( a r g ) \r ( d e c 0011520 l a r e ( g l o b a l v a r s 0011540 * e n v * * c o n t * * f 0011560 r a m e * * n e x t - s l o t 0011600 * ) ) \r ( p r o g 0011620 ( r e t p c ) \r 0011640 ( s e t q * e n v * ( 0011660 f e t c h e n v o f * c o 0011700 n t * ) ) \r 0011720 ( s e t q * f r a m e * ( f 0011740 e t c h f r a m e o f * c 0011760 o n t * ) ) \r 0012000 ( s e t q * n e x t - s l o 0012020 t * ( f e t c h n e x t - s 0012040 l o t o f * c o n t * ) ) \r 0012060 ( s e t q 0012100 r e t p c ( f e t c h p c 0012120 o f * c o n t * ) ) \r 0012140 ( s e t q * c o n 0012160 t * ( f e t c h c o n t o 0012200 f * c o n t * ) ) \r 0012220 ( r e p l a c e p c 0012240 o f ( \ m y a l i n k ) w 0012260 i t h r e t p c ) ) \r 0012300 ( r e t u r n a r 0012320 g ) ) ) ) \r \r \r P r o c e d u 0012340 r e c a l l i n g \r \r F u n c 0012360 t i o n a l i t y : T r a n 0012400 s f e r c o n t r o l t o 0012420 a 3 - L I S P p r o c e d u 0012440 r e . T h e a r g u m e n 0012460 t s a r e a s s o c i a t e 0012500 d w i t h t h e p r o c e 0012520 d u r e ' s p a r a m e t e r 0012540 s a n d a d d e d t o t 0012560 h e p r o c e d u r e ' s e 0012600 n v i r o n m e n t , w h i 0012620 c h t h e n b e c o m e s 0012640 t h e c u r r e n t e n v i 0012660 r o n m e n t . T h e n e 0012700 w p c i s t a k e n f r 0012720 o m t h e v a l u e s a v 0012740 e d i n t h e p r o c e d 0012760 u r e o b j e c t . ( N o 0013000 t e : n e i t h e r t h e 0013020 o l d e n v i r o n m e n t 0013040 n o r t h e r e t u r n 0013060 a d d r e s s a r e s a v e 0013100 d ; t h e f o r m e r t a 0013120 s k i s u n n e c e s s a r 0013140 y ( " s t a t i c s c o p i 0013160 n g " ) , a n d t h e l a 0013200 t t e r j o b i s d o n e 0013220 b y t h e e x p l i c i t 0013240 e m b e d d i n g i n s t r 0013260 u c t i o n s ( " c a l l e r 0013300 s a v e s " c o n v e n t i 0013320 o n ) . ) \r \r A r g u m e n t s 0013340 : O n e : a f l a g w 0013360 i t h i n d i c a t e s o b 0013400 j e c t o f i e d a r g u m e 0013420 n t s . T h e p r o c e 0013440 d u r e i s t h e e n t r 0013460 y a t t h e v e r y b o 0013500 t t o m o f t h e a r g u 0013520 m e n t s t a c k . T h e 0013540 a r g u m e n t s t o t h 0013560 e e x p r e s s i o n l i e 0013600 a b o v e i t . H o w 0013620 e v e r , i n t h e m o r 0013640 e c o m m o n c a s e , 0013660 a p r o c e d u r e c a l l 0013700 h a s a f i x e d n u m 0013720 b e r o f a r g u m e n t s 0013740 , a n d t h e y e a c h 0013760 h a v e t h e i r o w n e 0014000 n t r y o n t h e a r g u 0014020 m e n t s t a c k . 0014040 \r \r N e w b y t e c o d e 0014060 s : \r [ 3 C A L L o b 0014100 j ] ; l e n g t h 2 ; f 0014120 o r m a t S I C ; s t a c k 0014140 e f f e c t 0 a n d j 0014160 u m p s ; u f n 3 C A L L - 0014200 U F N . \r \r I m p l e m e n t a 0014220 t i o n : \r \r ( d e f i 0014240 n e 3 c a l l - u f n ( l a 0014260 m b d a ( o b j e c t i f i e 0014300 d - a r g u m e n t s ) \r 0014320 ( p r o g ( p r o c 0014340 c a l l e e n v a r s t e m 0014360 p n a r g s ) \r 0014400 ( s e t q n g i v e n 0014420 ( s u b 1 ( a r r a y s i z e 0014440 * f r a m e * ) ) ) \r 0014460 ( s e t q p r o c 0014500 ( e l t * f r a m e * 0 ) 0014520 ) \r ( s e t 0014540 q c a l l e e ( f e t c h 0014560 p a t t e r n o f p r o c ) 0014600 ) \r \r ( i f 0014620 o b j e c t i f i e d - a r g 0014640 u m e n t s t h e n \r 0014660 ( i f ( n 0014700 o - s p r e a d ? c a l l e e 0014720 ) t h e n \r 0014740 ( * W i n . 0014760 * ) \r 0015000 e l s e \r 0015020 ( * A r g 0015040 u m e n t s n e e d s p r e 0015060 a d i n g . * ) \r 0015100 ( * . 0015120 . . n o t w r i t t e n y 0015140 e t . . . * ) ) \r 0015160 e l s e i f ( n 0015200 o - s p r e a d ? c a l l e e 0015220 ) t h e n \r 0015240 ( * A r g u m e n t 0015260 s n e e d c o l l e c t i n 0015300 g . * ) \r 0015320 ( s e t q t e m p ( 0015340 r c o n s 0 ) ) \r 0015360 ( s e t q a r g 0015400 p t r * n e x t - s l o t * ) 0015420 \r ( 0015440 w h i l e ( n e q a r g p t 0015460 r * f r a m e * ) d o \r 0015500 0015520 ( s e t q a r g p t r 0015540 ( a d d b a s e a r g p t r 0015560 - 1 ) ) \r 0015600 ( s e t 0015620 q t e m p \r 0015640 0015660 ( p r e p ( g e t b a s e p t 0015700 r * n e x t - s l o t * 0 ) 0015720 t e m p ) ) ) \r 0015740 ( s e t a * f r 0015760 a m e * 1 t e m p ) \r 0016000 ( s e t q 0016020 n g i v e n 1 ) ) \r 0016040 e l s e i f ( n 0016060 e q n g i v e n ( n e x p e 0016100 c t e d c a l l e e ) ) t h 0016120 e n \r 0016140 ( 3 - l i s p - e r r o r ' m 0016160 i s m a t c h n i l ) ) \r 0016200 \r 0016220 ( s e t q * e n v * \r 0016240 ( 0016260 c r e a t e e n v i r o n m e 0016300 n t \r 0016320 n v a r s _ 0016340 n g i v e n \r 0016360 v a r i 0016400 a b l e s _ ( v a r i a b l 0016420 e s c a l l e e ) \r 0016440 0016460 b i n d i n g s _ * f r a m 0016500 e * \r 0016520 n e x t c o n t 0016540 o u r _ ( f e t c h e n v 0016560 o f p r o c ) ) ) \r 0016600 ( s e t q * f r a 0016620 m e * n i l ) ( * 0016640 N o l o n g e r n e e d e 0016660 d . * ) \r 0016700 ( s e t q * n e x t - s l o t 0016720 * 0 ) ( * N o l o 0016740 n g e r n e e d e d . * ) \r 0016760 ( * * c o 0017000 n t * i s p r e s e r v e d 0017020 . * ) \r ( 0017040 r e p l a c e p c o f ( \ 0017060 m y a l i n k ) w i t h ( f 0017100 e t c h c o d e o f p r o 0017120 c ) ) \r ( r 0017140 e p l a c e n o p u s h o f 0017160 ( \ m y a l i n k ) w i t h 0017200 t ) ( * r o u g h l y * 0017220 ) \r ( r e t 0017240 u r n ) ( * w i t h n o 0017260 r e s u l t * ) ) ) ) \r 0017300 \r \r \r L a m b d a e x p r e s 0017320 s i o n s \r \r F u n c t i o n a 0017340 l i t y : C r e a t e a 0017360 n e w c l o s u r e a n d 0017400 p u s h i t o n t h e s 0017420 t a c k . \r \r A r g u m e n t s 0017440 : T w o ( m a y b e t 0017460 h r e e , a l l k n o w n 0017500 a t c o m p i l e t i m e ) 0017520 . A s t r u c t u r e 0017540 t h a t d e s c r i b e s t 0017560 h e p a r a m e t e r p a t 0017600 t e r n , a n d t h e a 0017620 d d r e s s o f t h e c o 0017640 m p i l e d c o d e c o r r 0017660 e s p o n d i n g t o t h e 0017700 b o d y o f t h e l a m 0017720 b d a e x p r e s s i o n . \r 0017740 \r A r g u m e n t s : T w o . 0017760 O n e o n t h e s t a 0020000 c k : t h e o f f s e t t 0020020 o t h e f i r s t i n s t 0020040 r u c t i o n o f t h e c 0020060 o d e f o r t h e l a m b 0020100 d a e x p r e s s i o n ' s 0020120 b o d y . O n e i n t h e 0020140 i n s t r u c t i o n : i n 0020160 f o r m a t i o n a b o u t 0020200 t h e p a r a m e t e r p a 0020220 t t e r n o f t h e l a m 0020240 b d a e x p r e s s i o n ( 0020260 i n c l u d i n g a l i s t 0020300 o f t h e v a r i a b l e 0020320 s . ) \r \r N e w b y t e c 0020340 o d e : \r [ 3 L A M B D 0020360 A p ] ; l e n g t h 4 ; 0020400 f o r m a t G C O N S T ; s 0020420 t a c k e f f e c t - 1 + 1 0020440 ; u f n 3 L A M B D A - U F 0020460 N . \r \r I m p l e m e n t a t i 0020500 o n : \r \r 0020520 ( d a t a t y p e s i m p l 0020540 e c l o s u r e ( e n v p a 0020560 t t e r n ( c o d e w o r d 0020600 ) ) \r \r ( d e f i n e 3 0020620 l a m b d a - u f n ( l a m b 0020640 d a ( a r g p a t t e r n ) 0020660 \r ( c r e a t e 0020700 s i m p l e c l o s u r e \r 0020720 e n v _ * 0020740 e n v * \r p 0020760 a t t e r n _ p a t t e r n 0021000 \r c o d e 0021020 _ a r g ) ) ) \r \r C h e c k i 0021040 n g f o r r e f l e c t i v 0021060 e p r o c e d u r e s \r \r F u 0021100 n c t i o n a l i t y : E n 0021120 s u r e t h a t t h e o b 0021140 j e c t o n t h e t o p 0021160 o f t h e a r g u m e n t 0021200 s t a c k i s a s i m p l 0021220 e c l o s u r e . E r r o 0021240 r i f n o t . \r \r A r g u 0021260 m e n t s : O n e o n t h 0021300 e s t a c k , a n d o n e 0021320 i n t h e i n s t r u c t 0021340 i o n i t s e l f . . 0021360 \r \r P o s s i b l e b y t e 0021400 c o d e s e q u e n c e : \r 0021420 \r 0021440 C O P Y \r N T Y P 0021460 X \r A C O N S T 0021500 S I M P L E C L O S U R E T Y P 0021520 E # \r E Q \r 0021540 T J U M P l 1 \r 0021560 G C O N S T i n f o - 0021600 a b o u t - t h i s - c a l l \r 0021620 J U M P [ X [ X ] 0021640 ] o f f s e t - t o - e r r 0021660 o r - h a n d l e r \r l 1 0021700 : . . . \r \r N e w b y t e 0021720 c o d e s e q u e n c e : 0021740 \r 3 0021760 P C H E C K i n f o - a b o u 0022000 t - t h i s - c a l l \r \r N e w 0022020 b y t e c o d e : \r 0022040 [ 3 P C H E C K i n f o ] ; 0022060 l e n g t h 4 ; f o r m a t 0022100 G C O N S T ; s t a c k e 0022120 f f e c t - 1 + 1 ; u f n 0022140 3 P C H E C K - U F N . \r \r I m 0022160 p l e m e n t a t i o n : \r \r 0022200 ( d e f i n e 3 p 0022220 c h e c k - u f n ( l a m b d 0022240 a ( a r g i n f o ) \r 0022260 ( i f ( t y p e ? 0022300 s i m p l e - c l o s u r e 0022320 a r g ) t h e n \r 0022340 a r g \r 0022360 e l s e \r 0022400 ( 3 - l i s p - e 0022420 r r o r ' s u r p r i s e . s 0022440 u r p r i s e i n f o ) ) ) ) 0022460 \r \r \r P r i m i t i v e p r o 0022500 c e d u r e s e t a l . \r \r 0022520 F u n c t i o n a l i t y : 0022540 T h e r e a r e a h o s t 0022560 o f p r i m i t i v e p r 0022600 o c e d u r e s t h a t d o 0022620 e l e m e n t a r y d a t a 0022640 s t r u c t u r e m a n i p 0022660 u l a t i o n f o r t h e 0022700 m o s t p a r t . \r \r A 0022720 r g u m e n t s : A r g u m 0022740 e n t s a r e p a s s e d 0022760 o n t h e s t a c k ; r e 0023000 s u l t c o m e s b a c k 0023020 o n t h e s t a c k . \r \r B 0023040 y t e c o d e s e q u e n c 0023060 e : T r i v i a l . U 0023100 s e F N n a n d F N X ( 0023120 a n d p o s s i b l y C A R 0023140 , C D R e t c . ) t o m 0023160 a k e a n I n t e r l i s p 0023200 c a l l t o t h e a p p 0023220 r o p r i a t e f u n c t i o 0023240 n t h a t i m p l e m e n t 0023260 s t h e 3 - L I S P p r i 0023300 m i t i v e . \r 0023320 \r ~ ~ ~ E n d o f f i l e ~ 0023340 ~ ~ \r \0 \0 \0 ' \0 \0 \0 \n T I M E S 0023360 R O M A N \0 016 \0 \0 \0 \0 \0 \0 002 \0 \0 0023400 \0 \0 V \0 \0 \0 \a C L A S S I C \0 \f 0023420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 023 \0 \0 \0 \a 0023440 C L A S S I C \0 \f \0 \0 \0 \0 \0 \0 002 0023460 \0 \0 \0 002 > \0 \0 \0 \a C L A S S I C 0023500 \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 L \0 \0 0023520 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 0023540 \0 \0 \0 \0 \t \0 \0 \0 \a C L A S S I C 0023560 \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 017 \0 \0 0023600 \0 \a C L A S S I C \0 \f \0 \0 \0 \0 \0 0023620 \0 002 \0 \0 \0 001 , \0 \0 \0 \a C L A S S 0023640 I C \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 321 0023660 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 0023700 \0 \0 \0 \0 \0 \0 020 \0 \0 \0 \a C L A S S 0023720 I C \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 \0 001 ' 0023740 \0 \0 \0 \a C L A S S I C \0 \f \0 \0 \0 0023760 \0 \0 \0 \0 \0 \0 \0 001 J \0 \0 \0 005 G A C 0024000 H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0024020 \0 \0 \0 \a C L A S S I C \0 \f \0 \0 \0 0024040 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 005 G A C 0024060 H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \t 0024100 \0 \0 \0 \a C L A S S I C \0 \f \0 \0 \0 0024120 \0 \0 \0 002 \0 \0 \0 002 @ \0 \0 \0 \a C L A 0024140 S S I C \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0024160 001 352 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 0024200 \0 \0 \0 \0 \0 \0 \0 \0 023 \0 \0 \0 \a C L A 0024220 S S I C \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 \0 0024240 001 F \0 \0 \0 \a C L A S S I C \0 \f \0 0024260 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 267 \0 \0 \0 005 G 0024300 A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0024320 \0 001 \0 \0 \0 \a C L A S S I C \0 \f \0 0024340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \t \0 \0 \0 \a C 0024360 L A S S I C \0 \f \0 \0 \0 \0 \0 \0 002 \0 0024400 \0 \0 001 " \0 \0 \0 \a C L A S S I C \0 0024420 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 267 \0 \0 \0 0024440 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0024460 \0 \0 \0 001 \0 \0 \0 \a C L A S S I C \0 0024500 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 021 \0 \0 \0 0024520 \a C L A S S I C \0 \f \0 \0 \0 \0 \0 \0 0024540 002 \0 \0 \0 003 254 \0 \0 \0 \a C L A S S I 0024560 C \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 266 \0 0024600 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 0024620 \0 \0 \0 \0 \0 035 \0 \0 \0 005 G A C H A \0 0024640 \n \0 \0 \0 \0 \0 \0 001 \0 \0 \0 004 X \0 \0 \0 0024660 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0024700 \0 \0 \0 002 \0 \0 \0 \a C L A S S I C \0 0024720 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 022 \0 \0 \0 0024740 \a C L A S S I C \0 \f \0 \0 \0 \0 \0 \0 0024760 002 \0 \0 \0 002 y \0 \0 \0 \a C L A S S I 0025000 C \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 312 \0 0025020 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 0025040 \0 \0 \0 \0 \0 002 \0 \0 \0 \a C L A S S I 0025060 C \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 " \0 0025100 \0 \0 \a C L A S S I C \0 \f \0 \0 \0 \0 0025120 \0 \0 002 \0 \0 \0 \0 335 \0 \0 \0 \a C L A S 0025140 S I C \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0025160 255 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 0025200 \0 \0 \0 \0 \0 \0 \0 " \0 \0 \0 \a C L A S 0025220 S I C \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0025240 $ \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 0025260 \0 \0 \0 \0 \0 \0 \0 s \0 \0 \0 \a C L A S 0025300 S I C \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0025320 262 \0 \0 \0 005 G A C H A \0 \n \0 \0 \0 \0 0025340 \0 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \a C L A S 0025360 S I C \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0025400 033 \0 \0 \0 \a C L A S S I C \0 \f \0 \0 0025420 \0 \0 \0 \0 002 \0 \0 \0 001 225 \0 \0 \0 \a C L 0025440 A S S I C \0 \f \0 \0 \0 \0 \0 \0 \0 \0 \0 0025460 \0 \0 \0 \0 \0 \0 005 G A C H A \0 \n \0 \0 0025500 \0 \0 \0 \0 \0 \0 \0 \0 & 343 \0 . z 267 0025516