$ 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