$ od -c -N 50000 [Erinyes]<LispManual>CompilerIssues.im!4 0000000 \r \r \r { B e g i n S u b S e c 0000020 G l o b a l V a r i a b l e 0000040 s } \r { T i t l e G l o b a l 0000060 V a r i a b l e s } \r { T e x 0000100 t \r \r { i n d e x * P R I M A 0000120 R Y * G l o b a l v a r i a 0000140 b l e s } \r { i n d e x * P R 0000160 I M A R Y * G l o b a l v a r 0000200 s } \r \r V a r i a b l e s t h 0000220 a t a p p e a r o n t h e 0000240 l i s t { i n d e x * P R 0000260 I M A R Y * G L O B A L V A R 0000300 S V a r } { v a r G L O B A 0000320 L V A R S } , o r h a v e 0000340 t h e p r o p e r t y { p r 0000360 o p G L O B A L V A R } { i n 0000400 d e x * P R I M A R Y * G L 0000420 O B A L V A R P r o p } w i 0000440 t h v a l u e { l i s p T 0000460 } , o r a r e d e c l a r 0000500 e d w i t h t h e { f i l 0000520 e c o m G L O B A L V A R S } 0000540 f i l e p a c k a g e c o 0000560 m m a n d ( { P a g e R e f 0000600 F i l e C o m G L O B A L V A 0000620 R S } ) , { i n d e x G L O B 0000640 A L V A R S F i l e c o m } 0000660 a r e c a l l e d g l o b a 0000700 l v a r i a b l e s . S u 0000720 c h v a r i a b l e s a r e 0000740 a l w a y s a c c e s s e d 0000760 t h r o u g h t h e i r t 0001000 o p l e v e l v a l u e w 0001020 h e n t h e y a r e u s e 0001040 d f r e e l y i n a c o 0001060 m p i l e d f u n c t i o n . 0001100 I n o t h e r w o r d s 0001120 , a r e f e r e n c e t o 0001140 t h e v a l u e o f a 0001160 g l o b a l v a r i a b l e 0001200 i s e q u i v a l e n t t o 0001220 c a l l i n g { f n G E T 0001240 T O P V A L } ( { P a g e R e 0001260 f F n G E T T O P V A L } ) 0001300 o n t h e v a r i a b l e 0001320 , r e g a r d l e s s o f 0001340 w h e t h e r o r n o t i 0001360 t i s b o u n d i n t h 0001400 e c u r r e n t a c c e s s 0001420 c h a i n . S i m i l a r 0001440 l y , { l i s p ( S E T Q 0001460 { a r g V A R I A B L E } { 0001500 a r g V A L U E } ) } w i l 0001520 l c o m p i l e a s { l i 0001540 s p ( S E T T O P V A L ( Q 0001560 U O T E { a r g V A R I A B 0001600 L E } ) { a r g V A L U E } 0001620 ) } . \r \r A l l s y s t e m 0001640 p a r a m e t e r s , u n l e 0001660 s s o t h e r w i s e s p e 0001700 c i f i e d , a r e d e c l 0001720 a r e d a s g l o b a l v 0001740 a r i a b l e s . T h u s , 0001760 { i t r e b i n d i n g } 0002000 t h e s e v a r i a b l e s 0002020 i n a d e e p b o u n d 0002040 s y s t e m ( l i k e I n t 0002060 e r l i s p - D ) w i l l n 0002100 o t a f f e c t t h e b e 0002120 h a v i o r o f t h e s y 0002140 s t e m : i n s t e a d , t 0002160 h e v a r i a b l e s m u s 0002200 t b e { i t r e s e t } 0002220 t o t h e i r n e w v a l 0002240 u e s , a n d i f t h e y 0002260 a r e t o b e r e s t o 0002300 r e d t o t h e i r o r i 0002320 g i n a l v a l u e s , r e 0002340 s e t a g a i n . F o r 0002360 e x a m p l e , t h e u s e 0002400 r m i g h t w r i t e \r \r { 0002420 L i s p c o d e \r ( S E T Q { 0002440 a r g G L O B A L V A R I A B 0002460 L E } { a r g N E W V A L U 0002500 E } ) \r { a r g F O R M } \r ( 0002520 S E T Q { a r g G L O B A L 0002540 V A R I A B L E } { a r g O 0002560 L D V A L U E } ) } \r \r \r { n o 0002600 t e s h o u l d m o r e c 0002620 l e a r l y e x p l a i n d 0002640 i f f e r e n c e b e t w e e 0002660 n r e b i n d i n g a n d 0002700 r e s e t t i n g } \r \r N o t e 0002720 t h a t i n t h i s c a 0002740 s e , i f a n e r r o r 0002760 o c c u r r e d d u r i n g 0003000 t h e e v a l u a t i o n o 0003020 f { a r g F O R M } , o r 0003040 a { i n d e x c o n t r o 0003060 l - D ( I n t e r r u p t C 0003100 h a r a c t e r ) } c o n t r o 0003120 l - D w a s t y p e d , t 0003140 h e g l o b a l v a r i a b 0003160 l e w o u l d n o t b e 0003200 r e s t o r e d t o i t s 0003220 o r i g i n a l v a l u e . 0003240 T h e f u n c t i o n { f 0003260 n R E S E T V A R } ( { P a 0003300 g e R e f F n R E S E T V A 0003320 R } ) { i n d e x R E S E T V 0003340 A R F n } p r o v i d e s 0003360 a c o n v e n i e n t w a y 0003400 o f r e s e t t i n g g l 0003420 o b a l v a r i a b l e s { i 0003440 n d e x g l o b a l v a r i 0003460 a b l e s } i n s u c h a 0003500 w a y t h a t t h e i r 0003520 v a l u e s a r e r e s t o 0003540 r e d e v e n i f a n e 0003560 r r o r o c c u r r e d o r 0003600 c o n t r o l - D i s t y 0003620 p e d . \r \r N o t e : T h e 0003640 v a r i a b l e s t h a t 0003660 a g i v e n f u n c t i o n 0003700 a c c e s s e s a s g l o 0003720 b a l v a r i a b l e s c a 0003740 n b e d e t e r m i n e d 0003760 b y u s i n g t h e f u n 0004000 c t i o n { f n C A L L S } 0004020 ( { P a g e R e f F n C A 0004040 L L S } ) . \r \r } { E n d S u 0004060 b S e c G l o b a l V a r i 0004100 a b l e s } \r \r \r \r \r \r { B e g 0004120 i n S u b S e c L o c a l 0004140 V a r i a b l e s a n d S p 0004160 e c i a l V a r i a b l e s } 0004200 \r { T i t l e L o c a l V a 0004220 r i a b l e s a n d S p e c 0004240 i a l V a r i a b l e s } \r { 0004260 T e x t \r \r { i n d e x * P R 0004300 I M A R Y * S p e c i a l v 0004320 a r i a b l e s } \r { i n d e x 0004340 * P R I M A R Y * L o c a l 0004360 v a r i a b l e s } \r { i n d 0004400 e x * P R I M A R Y * L o c 0004420 a l v a r s } \r { i n d e x * 0004440 P R I M A R Y * S p e c v a r 0004460 s } \r \r I n n o r m a l c o 0004500 m p i l e d a n d i n t e r 0004520 p r e t e d c o d e , a l l 0004540 v a r i a b l e b i n d i n 0004560 g s a r e a c c e s s i b l 0004600 e b y l o w e r l e v e l 0004620 f u n c t i o n s b e c a u 0004640 s e t h e v a r i a b l e ' 0004660 s n a m e i s a s s o c i 0004700 a t e d w i t h i t s v a 0004720 l u e . W e c a l l s u 0004740 c h v a r i a b l e s { i t 0004760 s p e c i a l } v a r i a b 0005000 l e s , o r s p e c v a r s 0005020 . A s m e n t i o n e d 0005040 e a r l i e r , t h e b l o 0005060 c k c o m p i l e r n o r m 0005100 a l l y d o e s { i t n o 0005120 t } a s s o c i a t e n a m 0005140 e s w i t h v a r i a b l e 0005160 v a l u e s . S u c h u 0005200 n n a m e d v a r i a b l e s 0005220 a r e n o t a c c e s s i 0005240 b l e f r o m o u t s i d e 0005260 t h e f u n c t i o n w h 0005300 i c h b i n d s t h e m a 0005320 n d a r e t h e r e f o r e 0005340 { i t l o c a l } t o t 0005360 h a t f u n c t i o n . W 0005400 e c a l l s u c h u n n a 0005420 m e d v a r i a b l e s l o 0005440 c a l v a r i a b l e s , o 0005460 r l o c a l v a r s . \r \r \r T 0005500 h e t i m e e c o n o m i e 0005520 s o f l o c a l v a r i a 0005540 b l e s c a n b e a c h i 0005560 e v e d w i t h o u t b l o 0005600 c k c o m p i l i n g b y 0005620 u s e o f d e c l a r a t i 0005640 o n s . U s i n g l o c a 0005660 l v a r i a b l e s w i l l 0005700 i n c r e a s e t h e s p 0005720 e e d o f c o m p i l e d 0005740 c o d e ; t h e p r i c e 0005760 i s t h e w o r k o f w 0006000 r i t i n g t h e n e c e s 0006020 s a r y s p e c v a r d e c 0006040 l a r a t i o n s f o r t h 0006060 o s e v a r i a b l e s w h 0006100 i c h n e e d t o b e a 0006120 c c e s s e d f r o m o u t 0006140 s i d e t h e b l o c k . \r 0006160 \r \r { v a r L O C A L V A R S 0006200 } { i n d e x * P R I M A R Y 0006220 * L O C A L V A R S V a r } 0006240 a n d { v a r S P E C V A 0006260 R S } { i n d e x * P R I M A 0006300 R Y * S P E C V A R S V a r 0006320 } a r e v a r i a b l e s 0006340 t h a t a f f e c t c o m p 0006360 i l a t i o n . D u r i n g 0006400 r e g u l a r c o m p i l a 0006420 t i o n , { v a r S P E C V 0006440 A R S } i s n o r m a l l y 0006460 { l i s p T } , a n d { 0006500 v a r L O C A L V A R S } i 0006520 s { l i s p N I L } o r 0006540 a l i s t . T h i s c o 0006560 n f i g u r a t i o n c a u s 0006600 e s a l l v a r i a b l e s 0006620 b o u n d i n t h e f u 0006640 n c t i o n s b e i n g c o 0006660 m p i l e d t o b e t r e 0006700 a t e d a s s p e c i a l 0006720 { i t e x c e p t } t h o s 0006740 e t h a t a p p e a r o n 0006760 { v a r L O C A L V A R S } 0007000 . D u r i n g b l o c k 0007020 c o m p i l a t i o n , { v a 0007040 r L O C A L V A R S } i s 0007060 n o r m a l l y { l i s p T 0007100 } a n d { v a r S P E C V 0007120 A R S } i s { l i s p N I 0007140 L } o r a l i s t . A 0007160 l l v a r i a b l e s a r e 0007200 t h e n t r e a t e d a s 0007220 l o c a l { i t e x c e p 0007240 t } t h o s e t h a t a p 0007260 p e a r o n { v a r S P E 0007300 C V A R S } . \r \r \r D e c l a r 0007320 a t i o n s t o s e t { v 0007340 a r L O C A L V A R S } a n 0007360 d { v a r S P E C V A R S } 0007400 t o o t h e r v a l u e s 0007420 , a n d t h e r e f o r e 0007440 a f f e c t h o w v a r i a 0007460 b l e s a r e t r e a t e d 0007500 , m a y b e u s e d a t 0007520 s e v e r a l l e v e l s 0007540 i n t h e c o m p i l a t i 0007560 o n p r o c e s s w i t h 0007600 v a r y i n g s c o p e . \r \r 0007620 ( 1 ) T h e d e c l a r a 0007640 t i o n s m a y b e i n c 0007660 l u d e d i n t h e f i l 0007700 e c o m s o f a f i l e , 0007720 b y u s i n g t h e { f 0007740 i l e c o m L O C A L V A R S 0007760 } a n d { f i l e c o m S 0010000 P E C V A R S } f i l e p a 0010020 c k a g e c o m m a n d s ( 0010040 { P a g e R e f F i l e C o m 0010060 L O C A L V A R S } ) . T 0010100 h e s c o p e o f t h e 0010120 d e c l a r a t i o n i s t 0010140 h e n t h e e n t i r e f 0010160 i l e : \r \r { l i s p c o d e \r 0010200 { e l l i p s i s } ( L O C A 0010220 L V A R S . T ) ( S P E C 0010240 V A R S X Y ) { e l l i p 0010260 s i s } } \r \r \r ( 2 ) T h e 0010300 d e c l a r a t i o n s m a 0010320 y b e i n c l u d e d i n 0010340 b l o c k d e c l a r a t i 0010360 o n s ; t h e s c o p e i 0010400 s t h e n t h e b l o c k 0010420 , e . g . , \r \r { l i s p c o 0010440 d e ( B L O C K S ( ( F O O 0010460 B L O C K F O O F I E ( S 0010500 P E C V A R S . T ) ( L O 0010520 C A L V A R S X ) ) ) } \r \r \r 0010540 ( 3 ) T h e d e c l a r a 0010560 t i o n s m a y a l s o a 0010600 p p e a r i n i n d i v i d 0010620 u a l f u n c t i o n s , o 0010640 r i n { f n P R O G } ' s 0010660 o r { l i s p L A M B D A 0010700 } ' s w i t h i n a f u n 0010720 c t i o n , u s i n g t h e 0010740 { f n D E C L A R E } { i n 0010760 d e x * P R I M A R Y * D E 0011000 C L A R E F n } f u n c t i 0011020 o n . I n t h i s c a s 0011040 e , t h e s c o p e o f 0011060 t h e d e c l a r a t i o n 0011100 i s t h e f u n c t i o n 0011120 o r t h e { f n P R O G } 0011140 o r { l i s p L A M B D A 0011160 } i n w h i c h i t a p 0011200 p e a r s . { v a r L O C 0011220 A L V A R S } a n d { v a r 0011240 S P E C V A R S } d e c l a 0011260 r a t i o n s m u s t a p p 0011300 e a r i m m e d i a t e l y 0011320 a f t e r t h e v a r i a b 0011340 l e l i s t i n t h e f 0011360 u n c t i o n , { f n P R O 0011400 G } , o r { l i s p L A M 0011420 B D A } , b u t i n t e r v 0011440 e n i n g c o m m e n t s a 0011460 r e p e r m i t t e d . \r F o 0011500 r e x a m p l e : \r \r \r { l 0011520 i s p c o d e \r ( D E F I N E Q 0011540 ( ( F O O \r 0011560 ( L A M B D A ( X Y ) \r 0011600 ( D E C L 0011620 A R E ( L O C A L V A R S Y 0011640 ) ) \r 0011660 ( P R O G ( X Y Z ) \r 0011700 0011720 ( D E C L A R E ( L O C A L V 0011740 A R S X ) ) \r 0011760 . . . ] } 0012000 \r \r \r I f t h e a b o v e 0012020 f u n c t i o n i s c o m p 0012040 i l e d ( n o n - b l o c k ) 0012060 , t h e o u t e r { l i s 0012100 p X } w i l l b e s p e 0012120 c i a l , t h e { l i s p 0012140 X } b o u n d i n t h e 0012160 { f n P R O G } w i l l b 0012200 e l o c a l , a n d b o t 0012220 h b i n d i n g s o f { l 0012240 i s p Y } w i l l b e l 0012260 o c a l . \r \r \r D e c l a r a t 0012300 i o n s f o r { v a r L O 0012320 C A L V A R S } a n d { v a 0012340 r S P E C V A R S } c a n 0012360 b e u s e d i n t w o w 0012400 a y s : e i t h e r t o c 0012420 a u s e v a r i a b l e s t 0012440 o b e t r e a t e d t h e 0012460 s a m e w h e t h e r t h 0012500 e f u n c t i o n ( s ) a r 0012520 e b l o c k c o m p i l e d 0012540 o r c o m p i l e d n o r 0012560 m a l l y , o r t o a f f 0012600 e c t o n e c o m p i l a t 0012620 i o n m o d e w h i l e n 0012640 o t a f f e c t i n g t h e 0012660 d e f a u l t i n t h e 0012700 o t h e r m o d e . F o r 0012720 e x a m p l e : \r \r { l i s p 0012740 c o d e \r ( L A M B D A ( X 0012760 Y ) \r ( D E C 0013000 L A R E ( S P E C V A R S . 0013020 T ) ) \r ( P 0013040 R O G ( Z ) . . . ] } \r \r 0013060 \r w i l l c a u s e { l i s 0013100 p X } , { l i s p Y } , 0013120 a n d { l i s p Z } t o 0013140 b e s p e c v a r s f o r 0013160 b o t h b l o c k a n d n 0013200 o r m a l c o m p i l a t i o 0013220 n w h i l e \r \r { l i s p c o 0013240 d e \r ( L A M B D A ( X Y ) 0013260 \r ( D E C L A 0013300 R E ( S P E C V A R S X ) ) 0013320 \r . . . ] } 0013340 \r \r w i l l m a k e { l i s 0013360 p X } a s p e c v a r w 0013400 h e n b l o c k c o m p i l 0013420 i n g , b u t w h e n r e 0013440 g u l a r c o m p i l i n g 0013460 t h e d e c l a r a t i o n 0013500 w i l l h a v e n o e f f 0013520 e c t , b e c a u s e t h e 0013540 d e f a u l t v a l u e o 0013560 f s p e c v a r s w o u l d 0013600 b e { l i s p T } , a n 0013620 d t h e r e f o r e { i t 0013640 b o t h } { l i s p X } a 0013660 n d { l i s p Y } w i l l 0013700 b e s p e c v a r s b y 0013720 d e f a u l t . \r \r \r A l t h o 0013740 u g h { v a r L O C A L V A 0013760 R S } a n d { v a r S P E 0014000 C V A R S } d e c l a r a t i 0014020 o n s h a v e t h e s a m 0014040 e f o r m a s o t h e r 0014060 c o m p o n e n t s o f b l 0014100 o c k d e c l a r a t i o n s 0014120 s u c h a s { l i s p ( 0014140 L I N K F N S . T ) } , t 0014160 h e i r o p e r a t i o n i 0014200 s s o m e w h a t d i f f e 0014220 r e n t b e c a u s e t h e 0014240 t w o v a r i a b l e s a 0014260 r e n o t i n d e p e n d e 0014300 n t . { l i s p ( S P E C 0014320 V A R S . T ) } w i l l 0014340 c a u s e { v a r S P E C V 0014360 A R S } t o b e s e t t 0014400 o { l i s p T } , a n d 0014420 { v a r L O C A L V A R S } 0014440 t o b e s e t t o { l i 0014460 s p N I L } . \r { l i s p ( 0014500 S P E C V A R S V 1 V 2 . 0014520 . . ) } w i l l h a v e 0014540 { i t n o } e f f e c t i 0014560 f t h e v a l u e o f { 0014600 v a r S P E C V A R S } i s 0014620 { l i s p T } , b u t i 0014640 f i t i s a l i s t ( 0014660 o r { l i s p N I L } ) , 0014700 { v a r S P E C V A R S } w 0014720 i l l b e s e t t o t h 0014740 e u n i o n o f i t s p 0014760 r i o r v a l u e a n d { 0015000 l i s p ( V 1 V 2 . . . ) 0015020 } . T h e o p e r a t i o 0015040 n o f { v a r L O C A L V 0015060 A R S } i s a n a l o g o u 0015100 s . T h u s , t o a f f 0015120 e c t b o t h m o d e s o 0015140 f c o m p i l a t i o n o n 0015160 e o f t h e t w o ( { v 0015200 a r L O C A L V A R S } o r 0015220 { v a r S P E C V A R S } ) 0015240 m u s t b e d e c l a r e 0015260 d { l i s p T } b e f o r 0015300 e s p e c i f y i n g a l 0015320 i s t f o r t h e o t h e 0015340 r . \r \r N o t e : T h e v 0015360 a r i a b l e s t h a t a 0015400 g i v e n f u n c t i o n b 0015420 i n d s a s l o c a l v a 0015440 r i a b l e s o r a c c e s 0015460 s e s a s s p e c i a l v 0015500 a r i a b l e s c a n b e 0015520 d e t e r m i n e d b y u s 0015540 i n g t h e f u n c t i o n 0015560 { f n C A L L S } ( { P a 0015600 g e R e f F n C A L L S } ) 0015620 . \r \r N o t e : { v a r L 0015640 O C A L V A R S } a n d { v 0015660 a r S P E C V A R S } d e c 0015700 l a r a t i o n s a f f e c t 0015720 t h e c o m p i l a t i o n 0015740 o f l o c a l v a r i a b 0015760 l e s w i t h i n a f u n 0016000 c t i o n , b u t t h e a 0016020 r g u m e n t s t o f u n c 0016040 t i o n s a r e a l w a y s 0016060 a c c e s s a b l e a s s 0016100 p e c v a r s . T h i s c 0016120 a n b e c h a n g e d b y 0016140 r e - d e f i n i n g t h e 0016160 f o l l o w i n g f u n c t 0016200 i o n : \r \r { F n D e f { N a 0016220 m e D A S S E M . S A V E L O 0016240 C A L V A R S } { A r g s F 0016260 N } \r { T e x t \r T h i s f u 0016300 n c t i o n i s c a l l e d 0016320 b y t h e c o m p i l e r 0016340 t o d e t e r m i n e w h 0016360 e t h e r a r g u m e n t i 0016400 n f o r m a t i o n f o r { 0016420 a r g F N } s h o u l d b 0016440 e w r i t t e n o n t h e 0016460 c o m p i l e d f i l e f 0016500 o r { a r g F N } . I f 0016520 i t r e t u r n s { l i s 0016540 p N I L } , t h e a r g u 0016560 m e n t i n f o r m a t i o n 0016600 i s { i t n o t } s a v 0016620 e d , a n d t h e f u n c 0016640 t i o n i s s t o r e d w 0016660 i t h a r g u m e n t s { l 0016700 i s p U } , { l i s p V } 0016720 , { l i s p W } , e t c 0016740 i n s t e a d o f t h e o 0016760 r i g i n a l s . \r \r I n i t i 0017000 a l l y , { f n D A S S E M 0017020 . S A V E L O C A L V A R S } 0017040 i s d e f i n e d t o r e 0017060 t u r n { l i s p T } . 0017100 { l i s p ( M O V D ' N I L 0017120 L ' D A S S E M . S A V E L O 0017140 C A L V A R S ) } c a u s e s 0017160 t h e c o m p i l e r t o 0017200 r e t a i n n o l o c a l 0017220 v a r i a b l e o r a r g 0017240 u m e n t n a m e s . A l 0017260 t e r n a t i v e l y , { f n 0017300 D A S S E M . S A V E L O C A 0017320 L V A R S } c o u l d b e 0017340 r e d e f i n e d a s a m 0017360 o r e c o m p l e x p r e d 0017400 i c a t e , t o a l l o w 0017420 f i n e r d i s c r i m i n a 0017440 t i o n . \r } } \r \r \r } { E n d 0017460 S u b S e c L o c a l V a 0017500 r i a b l e s a n d S p e c 0017520 i a l V a r i a b l e s } \r \r 0017540 \r \r \r \r { B e g i n S u b S e 0017560 c C o n s t a n t s } \r { T i 0017600 t l e C o n s t a n t s } \r { 0017620 T e x t \r \r { i n d e x * P R 0017640 I M A R Y * C o n s t a n t s 0017660 i n c o m p i l e d c o d 0017700 e } \r \r I n t e r l i s p a l 0017720 l o w s t h e e x p r e s s 0017740 i o n o f c o n s t r u c t 0017760 i o n s w h i c h a r e i 0020000 n t e n d e d t o b e d e 0020020 s c r i p t i o n o f t h e 0020040 i r c o n s t a n t v a l u 0020060 e s . T h e f o l l o w i 0020100 n g f u n c t i o n s a r e 0020120 u s e d t o d e f i n e 0020140 c o n s t a n t v a l u e s . 0020160 T h e f u n c t i o n { 0020200 f n S E L E C T C } ( { P a 0020220 g e R e f F n S E L E C T C 0020240 } ) p r o v i d e s a m e 0020260 c h a n i s m f o r c o m p 0020300 a r i n g a v a l u e t o 0020320 a n u m b e r o f c o n 0020340 s t a n t s . \r \r \r { F n D e f 0020360 { N a m e C O N S T A N T } 0020400 { A r g s X } \r { T e x t \r 0020420 T h i s f u n c t i o n e n 0020440 a b l e s t h e u s e r t 0020460 o d e f i n e t h a t t h 0020500 e e x p r e s s i o n { a r 0020520 g X } s h o u l d b e t 0020540 r e a t e d a s a " c o n 0020560 s t a n t " v a l u e . W 0020600 h e n { f n C O N S T A N T 0020620 } i s i n t e r p r e t e d 0020640 , { a r g X } i s e v a 0020660 l u t e d e a c h t i m e 0020700 i t i s e n c o u n t e r e 0020720 d . I f t h e { f n C 0020740 O N S T A N T } f o r m i s 0020760 c o m p i l e d , h o w e v 0021000 e r , t h e e x p r e s s i 0021020 o n w i l l b e e v a l u 0021040 a t e d o n l y o n c e . \r 0021060 \r I f t h e v a l u e o f 0021100 { a r g X } h a s a r 0021120 e a d a b l e p r i n t n a 0021140 m e , t h e n i t w i l l 0021160 b e e v a l u a t e d a t 0021200 c o m p i l e - t i m e , a 0021220 n d t h e v a l u e w i l 0021240 l b e s a v e d a s a 0021260 l i t e r a l i n t h e c 0021300 o m p i l e d f u n c t i o n 0021320 ' s d e f i n i t i o n , a 0021340 s i f { l i s p ( Q U O T 0021360 E { a r g V A L U E - O F - 0021400 E X P R E S S I O N } ) } h a 0021420 d a p p e a r e d i n s t e 0021440 a d o f { l i s p ( C O N 0021460 S T A N T { a r g E X P R E 0021500 S S I O N } ) } . \r \r I f t h 0021520 e v a l u e o f { a r g 0021540 X } d o e s n o t h a v e 0021560 a r e a d a b l e p r i n 0021600 t n a m e , t h e n t h e 0021620 e x p r e s s i o n { a r g 0021640 X } i t s e l f w i l l 0021660 b e s a v e d w i t h t h 0021700 e f u n c t i o n , a n d 0021720 i t w i l l b e e v a l u 0021740 a t e d w h e n t h e f u 0021760 n c t i o n i s f i r s t 0022000 l o a d e d . T h e v a l 0022020 u e w i l l t h e n b e 0022040 s t o r e d i n t h e f u 0022060 n c t i o n ' s l i t e r a l 0022100 s , a n d w i l l b e r 0022120 e t r i e v e d o n f u t u 0022140 r e r e f e r e n c e s . \r } 0022160 } \r \r \r I f a u s e r p r 0022200 o g r a m n e e d e d a l 0022220 i s t o f 3 0 { l i s p 0022240 N I L } s , t h e u s e r 0022260 c o u l d s p e c i f y { l 0022300 i s p ( C O N S T A N T ( t 0022320 o 3 0 c o l l e c t N I L 0022340 ) ) } i n s t e a d o f { 0022360 l i s p ( Q U O T E ( N I L 0022400 N I L { e l l i p s i s } ) 0022420 ) } . T h e f o r m e r 0022440 i s m o r e c o n c i s e 0022460 a n d d i s p l a y s t h e 0022500 i m p o r t a n t p a r a m 0022520 e t e r m u c h m o r e d 0022540 i r e c t l y t h a n t h e 0022560 l a t t e r . \r \r { f n C O 0022600 N S T A N T } c a n a l s o 0022620 b e u s e d t o d e n o 0022640 t e v a l u e s t h a t c 0022660 a n n o t b e q u o t e d 0022700 d i r e c t l y , s u c h a 0022720 s { l i s p ( C O N S T A N 0022740 T ( P A C K N I L ) ) } , 0022760 { l i s p ( C O N S T A N T 0023000 ( A R R A Y 1 0 ) ) } . I 0023020 t i s a l s o u s e f u l 0023040 t o p a r a m e t e r i z e 0023060 q u a n t i t i e s t h a t 0023100 a r e c o n s t a n t a t 0023120 r u n t i m e b u t m a 0023140 y d i f f e r a t c o m p 0023160 i l e t i m e , e . g . , 0023200 { l i s p ( C O N S T A N T 0023220 B I T S P E R W O R D ) } i n 0023240 a p r o g r a m i s e x 0023260 a c t l y e q u i v a l e n t 0023300 t o 3 6 , i f t h e v 0023320 a r i a b l e { l i s p B I 0023340 T S P E R W O R D } i s b o 0023360 u n d t o 3 6 w h e n t 0023400 h e { f n C O N S T A N T } 0023420 e x p r e s s i o n i s e 0023440 v a l u a t e d a t c o m p 0023460 i l e t i m e . \r \r \r W h e r 0023500 e a s t h e f u n c t i o n 0023520 { f n C O N S T A N T } a 0023540 t t e m p t s t o e v a l u 0023560 a t e t h e e x p r e s s i 0023600 o n a s s o o n a s p o 0023620 s s i b l e ( c o m p i l e - 0023640 t i m e , l o a d - t i m e , 0023660 o r f i r s t - r u n - t i 0023700 m e ) , o t h e r o p t i o 0023720 n s a r e a v a i l a b l e 0023740 , u s i n g t h e f o l o 0023760 w i n g t w o f u n c t i o 0024000 n : \r \r { F n D e f { N a m e 0024020 L O A D T I M E C O N S T A N 0024040 T } { A r g s X } \r { T e x 0024060 t \r S i m i l a r t o { f n 0024100 C O N S T A N T } , e x c e 0024120 p t t h a t t h e e v a l 0024140 u a t i o n o f { a r g X 0024160 } i s d e f e r r e d u n 0024200 t i l t h e c o m p i l e d 0024220 c o d e f o r t h e c o 0024240 n t a i n i n g f u n c t i o 0024260 n i s l o a d e d i n . 0024300 F o r e x a m p l e , { l 0024320 i s p ( L O A D T I M E C O N 0024340 S T A N T ( D A T E ) ) } w 0024360 i l l r e t u r n t h e d 0024400 a t e t h e c o d e w a s 0024420 l o a d e d . I f { f n 0024440 L O A D T I M E C O N S T A N 0024460 T } i s i n t e r p r e t e 0024500 d , i t m e r e l y r e t 0024520 u r n s t h e v a l u e o 0024540 f { a r g X } . \r } } \r \r { 0024560 F n D e f { N a m e D E F E 0024600 R R E D C O N S T A N T } { A 0024620 r g s X } \r { T e x t \r S i m 0024640 i l a r t o { f n C O N S 0024660 T A N T } , e x c e p t t h 0024700 a t t h e e v a l u a t i o 0024720 n o f { a r g X } i s 0024740 a l w a y s d e f e r r e d 0024760 u n t i l t h e c o m p i l 0025000 e d f u n c t i o n i s f 0025020 i r s t r u n . T h i s 0025040 i s u s e f u l w h e n t 0025060 h e s t o r a g e f o r t 0025100 h e c o n s t a n t i s e 0025120 x c e s s i v e s o t h a t 0025140 i t s h o u l d n ' t b e 0025160 a l l o c a t e d u n t i l 0025200 ( u n l e s s ) t h e f u 0025220 n c t i o n i s a c t u a l 0025240 l y i n v o k e d . I f 0025260 { f n D E F E R R E D C O N S 0025300 T A N T } i s i n t e r p r 0025320 e t e d , i t m e r e l y 0025340 r e t u r n s t h e v a l u 0025360 e o f { a r g X } . \r } } 0025400 \r \r \r \r { F n D e f { N a m e 0025420 C O N S T A N T S } { A r g 0025440 s V A R { s u b 1 } V A R 0025460 { s u b 2 } { e l l i p s i 0025500 s } V A R { s u b N } } \r { 0025520 T y p e N O S P R E A D N L 0025540 A M B D A } \r { T e x t \r D e f 0025560 i n e s { a r g V A R { s u 0025600 b 1 } } , { e l l i p s i s 0025620 } { a r g V A R { s u b N 0025640 } } ( u n e v a l u a t e d ) 0025660 t o b e c o m p i l e - t 0025700 i m e c o n s t a n t s . 0025720 W h e n e v e r t h e c o m 0025740 p i l e r e n c o u n t e r s 0025760 a ( f r e e ) r e f e r e 0026000 n c e t o o n e o f t h 0026020 e s e c o n s t a n t s , i 0026040 t w i l l c o m p i l e t 0026060 h e f o r m { l i s p ( C 0026100 O N S T A N T { a r g V A R 0026120 { s u b i } } ) } i n s t e 0026140 a d . \r \r I f { a r g V A R 0026160 { s u b i } } i s a l i 0026200 s t o f t h e f o r m { 0026220 l i s p ( { a r g V A R } 0026240 { a r g F O R M } ) } , a 0026260 f r e e r e f e r e n c e t 0026300 o t h e v a r i a b l e w 0026320 i l l c o m p i l e a s { 0026340 l i s p ( C O N S T A N T { 0026360 a r g F O R M } ) } . \r \r T h 0026400 e c o m p i l e r p r i n t 0026420 s a w a r n i n g i f u 0026440 s e r c o d e a t t e m p t 0026460 s t o b i n d a v a r i 0026500 a b l e p r e v i o u s l y 0026520 d e c l a r e d a s a c o 0026540 n s t a n t . \r \r C o n s t a n 0026560 t s c a n b e s a v e d 0026600 u s i n g t h e { f i l e c 0026620 o m C O N S T A N T S } f i 0026640 l e p a c k a g e c o m m a 0026660 n d ( { P a g e R e f F i l 0026700 e C o m C O N S T A N T S } ) 0026720 . \r } } \r \r \r \r } { E n d S u 0026740 b S e c C o n s t a n t s } \r 0026760 \r \r \r \r { B e g i n S u b S e 0027000 c C o m p i l i n g F u n c 0027020 t i o n C a l l s } \r { T i t 0027040 l e C o m p i l i n g F u n 0027060 c t i o n C a l l s } \r { T e 0027100 x t \r \r { T a g C o m p i l i 0027120 n g N L A M B D A s } \r \r { i n 0027140 d e x * P R I M A R Y * C o 0027160 m p i l i n g f u n c t i o n 0027200 c a l l s } \r \r W h e n c o 0027220 m p i l i n g t h e c a l l 0027240 t o a f u n c t i o n , 0027260 t h e c o m p i l e r m u s 0027300 t k n o w t h e t y p e 0027320 o f t h e f u n c t i o n , 0027340 t o d e t e r m i n e h o 0027360 w t h e a r g u m e n t s 0027400 s h o u l d b e p r e p a r 0027420 e d ( e v a l u a t e d / u n 0027440 e v a l u a t e d , s p r e a 0027460 d / n o s p r e a d ) . T h 0027500 e r e a r e t h r e e s e 0027520 p e r a t e c a s e s : l a 0027540 m b d a , n l a m b d a s p 0027560 r e a d , a n d n l a m b d 0027600 a n o s p r e a d f u n c t 0027620 i o n s . \r \r T o d e t e r m 0027640 i n e w h i c h o f t h e 0027660 s e t h r e e c a s e s i 0027700 s a p p r o p r i a t e , t 0027720 h e c o m p i l e r w i l l 0027740 f i r s t l o o k f o r 0027760 a d e f i n i t i o n a m o 0030000 n g t h e f u n c t i o n s 0030020 i n t h e f i l e t h a 0030040 t i s b e i n g c o m p i 0030060 l e d . T h e f u n c t i 0030100 o n c a n b e d e f i n e 0030120 d a n y w h e r e i n a n 0030140 y o f t h e f i l e s g 0030160 i v e n a s a r g u m e n t 0030200 s t o { f n B C O M P L } 0030220 , { f n T C O M P L } , { 0030240 f n B R E C O M P I L E } o 0030260 r { f n R E C O M P I L E } 0030300 . { n o t e e v e n i n l 0030320 a t e r f i l e s ( i f m 0030340 o r e t h a n o n e c o m 0030360 p i l e d ) ? } I f t h e 0030400 f u n c t i o n i s n o t 0030420 c o n t a i n e d i n t h 0030440 e f i l e , t h e c o m p 0030460 i l e r w i l l l o o k f 0030500 o r o t h e r i n f o r m a 0030520 t i o n i n t h e v a r i 0030540 a b l e s { v a r N L A M A 0030560 } , { v a r N L A M L } , 0030600 a n d { v a r L A M S } , 0030620 w h i c h c a n b e s e t 0030640 b y t h e u s e r : \r \r { 0030660 V a r D e f { N a m e N L A 0030700 M A } \r { T e x t \r ( f o r { 0030720 l i s p N L A M } b d a { l 0030740 i s p A } t o m s ) \r A l i 0030760 s t o f f u n c t i o n s 0031000 t o b e t r e a t e d a s 0031020 n l a m b d a n o s p r e a 0031040 d f u n c t i o n s b y t 0031060 h e c o m p i l e r . \r } } \r 0031100 \r { V a r D e f { N a m e N 0031120 L A M L } \r { T e x t \r ( f o r 0031140 { l i s p N L A M } b d a 0031160 { l i s p L } i s t ) \r A l 0031200 i s t o f f u n c t i o n s 0031220 t o b e t r e a t e d a 0031240 s n l a m b d a s p r e a d 0031260 f u n c t i o n s b y t h 0031300 e c o m p i l e r . \r } } \r \r 0031320 { V a r D e f { N a m e L A 0031340 M S } \r { T e x t \r A l i s t 0031360 o f f u n c t i o n s t o 0031400 b e t r e a t e d a s l 0031420 a m b d a f u n c t i o n s 0031440 b y t h e c o m p i l e r . 0031460 N o t e t h a t i n c l 0031500 u d i n g f u n c t i o n s 0031520 o n { v a r L A M S } i s 0031540 o n l y n e c e s s a r y 0031560 t o o v e r r i d e i n - c 0031600 o r e n l a m b d a d e f i 0031620 n i t i o n s , s i n c e i 0031640 n t h e a b s e n c e o f 0031660 o t h e r i n f o r m a t i 0031700 o n , t h e c o m p i l e r 0031720 a s s u m e s t h e f u n 0031740 c t i o n i s a l a m b d 0031760 a . \r } } \r \r \r \r I f t h e 0032000 f u n c t i o n i s n o t 0032020 c o n t a i n e d i n a f 0032040 i l e , o r o n t h e l 0032060 i s t s { v a r N L A M A } 0032100 , { v a r N L A M L } , o 0032120 r { v a r L A M S } , t h 0032140 e c o m p i l e r w i l l 0032160 l o o k f o r a c u r r e 0032200 n t d e f i n i t i o n i n 0032220 t h e I n t e r l i s p s 0032240 y s t e m , a n d u s e i 0032260 t s t y p e . I f t h e 0032300 r e i s n o c u r r e n t 0032320 d e f i n i t i o n , n e x 0032340 t { v a r C O M P I L E U S 0032360 E R F N } i s c a l l e d : 0032400 \r \r { V a r D e f { N a m e 0032420 C O M P I L E U S E R F N } \r { 0032440 T e x t \r W h e n c o m p i l 0032460 i n g a f u n c t i o n c 0032500 a l l , i f t h e f u n c 0032520 t i o n t y p e c a n n o t 0032540 b e f o u n d b y l o o 0032560 k i n g i n f i l e s , t 0032600 h e v a r i a b l e s { v a 0032620 r N L A M A } , { v a r N 0032640 L A M L } , o r { v a r L 0032660 A M S } , o r a t a c u 0032700 r r e n t d e f i n i t i o n 0032720 , t h e n i f t h e v a 0032740 l u e o f { i n d e x * P 0032760 R I M A R Y * C O M P I L E U 0033000 S E R F N V a r } { v a r C 0033020 O M P I L E U S E R F N } i s 0033040 n o t { l i s p N I L } , 0033060 t h e c o m p i l e r c a 0033100 l l s ( t h e v a l u e o 0033120 f ) { v a r C O M P I L E U 0033140 S E R F N } g i v i n g i t 0033160 a s a r g u m e n t s { f 0033200 n C D R } o f t h e f o 0033220 r m a n d t h e f o r m 0033240 i t s e l f , i . e . , t h 0033260 e c o m p i l e r d o e s 0033300 { l i s p ( A P P L Y * C O 0033320 M P I L E U S E R F N ( C D R 0033340 { a r g F O R M } ) { a r 0033360 g F O R M } ) } . I f a 0033400 n o n - { l i s p N I L } 0033420 v a l u e i s r e t u r n e 0033440 d , i t i s c o m p i l e 0033460 d i n s t e a d o f { a r 0033500 g F O R M } . I f { l i 0033520 s p N I L } i s r e t u r 0033540 n e d , t h e c o m p i l e 0033560 r c o m p i l e s t h e o 0033600 r i g i n a l e x p r e s s i 0033620 o n a s a c a l l t o 0033640 a l a m b d a s p r e a d 0033660 t h a t i s n o t y e t 0033700 d e f i n e d . \r \r N o t e t 0033720 h a t { v a r C O M P I L E 0033740 U S E R F N } i s o n l y 0033760 c a l l e d w h e n t h e 0034000 c o m p i l e r e n c o u n t 0034020 e r s a { i t l i s t } 0034040 { f n C A R } o f w h i c 0034060 h i s n o t t h e n a m 0034100 e o f a d e f i n e d f 0034120 u n c t i o n . T h e u s e 0034140 r c a n i n s t r u c t t 0034160 h e c o m p i l e r a b o u 0034200 t h o w t o c o m p i l e 0034220 o t h e r d a t a t y p e 0034240 s v i a { v a r C O M P I 0034260 L E T Y P E L S T } , { i n d e 0034300 x C O M P I L E T Y P E L S T 0034320 V a r } { P a g e R e f V 0034340 a r C O M P I L E T Y P E L S 0034360 T } . \r \r { i n d e x C L I S 0034400 P a n d c o m p i l e r } { 0034420 i n d e x C o m p i l i n g 0034440 C L I S P } C L I S P u s e s 0034460 { v a r C O M P I L E U S E 0034500 R F N } t o t e l l t h e 0034520 c o m p i l e r h o w t o 0034540 c o m p i l e i t e r a t i 0034560 v e s t a t e m e n t s , { 0034600 l i s p I F - T H E N - E L S 0034620 E } s t a t e m e n t s , a 0034640 n d p a t t e r n m a t c h 0034660 c o n s t r u c t s ( S e e 0034700 { P a g e R e f T a g C o 0034720 m p i l i n g C L I S P } ) . \r 0034740 } } \r \r \r { n o t e h o w c 0034760 a n C O M P I L E U S E R F N 0035000 b e o f a n y u s e , 0035020 I f i t i s d e f i n e d 0035040 b y C L I S P ? C a n / 0035060 s h o u l d u s e r s a d v 0035100 i s e i t ? ? } \r \r \r \r I f 0035120 t h e c o m p i l e r c a n 0035140 n o t d e t e r m i n e t h 0035160 e f u n c t i o n t y p e 0035200 b y a n y o f t h e m e 0035220 a n s a b o v e , i t a s 0035240 s u m e s t h a t t h e f 0035260 u n c t i o n i s a l a m 0035300 b d a f u n c t i o n , a n 0035320 d i t s a r g u m e n t s 0035340 a r e t o b e e v a l u a 0035360 t e d . \r \r I f t h e r e a 0035400 r e n l a m b d a f u n c t 0035420 i o n s c a l l e d f r o m 0035440 t h e f u n c t i o n s b 0035460 e i n g c o m p i l e d , a 0035500 n d t h e y a r e o n l y 0035520 d e f i n e d i n a s e 0035540 p a r a t e f i l e , t h e 0035560 y m u s t b e i n c l u d 0035600 e d o n { v a r N L A M A 0035620 } o r { v a r N L A M L } 0035640 , o r t h e c o m p i l e 0035660 r w i l l i n c o r r e c t 0035700 l y a s s u m e t h a t t 0035720 h e i r a r g u m e n t s a 0035740 r e t o b e e v a l u a t 0035760 e d , a n d c o m p i l e 0036000 t h e c a l l i n g f u n c 0036020 t i o n c o r r e s p o n d i 0036040 n g l y . \r N o t e t h a t 0036060 t h i s i s o n l y n e c 0036100 e s s a r y i f t h e c o 0036120 m p i l e r d o e s n o t 0036140 " k n o w " a b o u t t h e 0036160 f u n c t i o n . I f t 0036200 h e f u n c t i o n i s d 0036220 e f i n e d a t c o m p i l 0036240 e t i m e , o r i s h a 0036260 n d l e d v i a a m a c r 0036300 o , o r i s c o n t a i n 0036320 e d i n t h e s a m e g 0036340 r o u p o f f i l e s a s 0036360 t h e f u n c t i o n s t 0036400 h a t c a l l i t , t h e 0036420 c o m p i l e r w i l l a 0036440 u t o m a t i c a l l y h a n 0036460 d l e c a l l s t o t h a 0036500 t f u n c t i o n c o r r e 0036520 c t l y . \r \r \r } { E n d S u 0036540 b S e c C o m p i l i n g F 0036560 u n c t i o n C a l l s } \r \r 0036600 \r \r \r { B e g i n S u b S e c 0036620 F U N C T I O N a n d F u 0036640 n c t i o n a l A r g u m e n 0036660 t s } \r { T i t l e F U N C T 0036700 I O N a n d F u n c t i o n 0036720 a l A r g u m e n t s } \r { T 0036740 e x t \r \r { T a g C o m p i l 0036760 i n g F U N C T I O N } \r \r { i 0037000 n d e x * P R I M A R Y * C 0037020 o m p i l i n g F U N C T I O 0037040 N } \r { i n d e x * P R I M A 0037060 R Y * C o m p i l i n g f u 0037100 n c t i o n a l a r g u m e n 0037120 t s } \r { i n d e x F u n c t 0037140 i o n a l a r g u m e n t s } 0037160 \r \r C o m p i l i n g t h e 0037200 f u n c t i o n { f n F U N 0037220 C T I O N } ( { P a g e R e f 0037240 F n F U N C T I O N } ) m 0037260 a y i n v o l v e c r e a t 0037300 i n g a n d c o m p i l i n 0037320 g a s e p e r a t e " a u 0037340 x i l i a r y f u n c t i o n 0037360 " , w h i c h w i l l b e 0037400 c a l l e d a t r u n t 0037420 i m e . A n a u x i l i a 0037440 r y f u n c t i o n i s n 0037460 a m e d b y a t t a c h i n 0037500 g a { f n G E N S Y M } 0037520 ( { P a g e R e f F n G E N 0037540 S Y M } ) t o t h e e n d 0037560 o f t h e n a m e o f 0037600 t h e f u n c t i o n i n 0037620 w h i c h t h e y a p p e a 0037640 r , e . g . , { l i s p F 0037660 O O A 0 0 0 3 } . F o r e 0037700 x a m p l e , s u p p o s e 0037720 { l i s p F O O } i s d e 0037740 f i n e d a s { l i s p ( 0037760 L A M B D A ( X ) { e l l i 0040000 p s i s } ( F O O 1 X ( F 0040020 U N C T I O N { e l l i p s i 0040040 s } ) ) { e l l i p s i s } ) 0040060 } a n d c o m p i l e d . 0040100 W h e n { l i s p F O O } 0040120 i s r u n , { l i s p F 0040140 O O 1 } w i l l b e c a l 0040160 l e d w i t h t w o a r g 0040200 u m e n t s , { l i s p X } 0040220 , a n d { l i s p F O O A 0040240 0 0 0 { a r g N } } a n d 0040260 { l i s p F O O 1 } w i l l 0040300 c a l l { l i s p F O O A 0040320 0 0 0 { a r g N } } e a c h 0040340 t i m e i t u s e s i t 0040360 s f u n c t i o n a l a r g 0040400 u m e n t . \r \r \r C o m p i l i 0040420 n g { f n F U N C T I O N } 0040440 w i l l { i t n o t } c 0040460 r e a t e a n a u x i l i a 0040500 r y f u n c t i o n i f i 0040520 t i s a f u n c t i o n a 0040540 l a r g u m e n t t o a 0040560 f u n c t i o n t h a t c o 0040600 m p i l e s o p e n , s u c 0040620 h a s m o s t o f t h e 0040640 m a p p i n g f u n c t i o 0040660 n s ( { f n M A P C A R } , 0040700 { f n M A P L I S T } , e 0040720 t c . ) . N o t e t h a t 0040740 a c o n s i d e r a b l e 0040760 s a v i n g s i n t i m e 0041000 c o u l d b e a c h i e v e 0041020 d b y m a k i n g { l i s 0041040 p F O O 1 } c o m p i l e 0041060 o p e n v i a a c o m p u 0041100 t e d m a c r o ( { P a g e 0041120 R e f T a g M a c r o s } ) 0041140 , e . g . \r \r { l i s p c o d 0041160 e \r ( P U T P R O P ' F O O 1 0041200 ' M A C R O \r ' ( Z ( 0041220 L I S T ( S U B S T ( C A D 0041240 A D R Z ) \r 0041260 ( Q U 0041300 O T E F N ) \r 0041320 { a 0041340 r g D E F } ) \r 0041360 ( C A R Z ) ) ) 0041400 } \r \r { a r g D E F } i s 0041420 t h e d e f i n i t i o n o 0041440 f { l i s p F O O 1 } a s 0041460 a f u n c t i o n o f j 0041500 u s t i t s f i r s t a r 0041520 g u m e n t , a n d { l i s 0041540 p F N } i s t h e n a m 0041560 e u s e d f o r i t s f 0041600 u n c t i o n a l a r g u m e 0041620 n t i n i t s d e f i n i 0041640 t i o n . I n t h i s c 0041660 a s e , { l i s p ( F O O 1 0041700 X ( F U N C T I O N { e l 0041720 l i p s i s } ) ) } w o u l d 0041740 c o m p i l e a s a n e 0041760 x p r e s s i o n , c o n t a 0042000 i n i n g t h e a r g u m e 0042020 n t t o { f n F U N C T I 0042040 O N } a s a n o p e n { 0042060 l i s p L A M B D A } e x p 0042100 r e s s i o n . T h u s y 0042120 o u s a v e n o t o n l y 0042140 t h e f u n c t i o n c a 0042160 l l t o { l i s p F O O 1 0042200 } , b u t a l s o e a c h 0042220 o f t h e f u n c t i o n 0042240 c a l l s t o i t s f u 0042260 n c t i o n a l a r g u m e n 0042300 t . F o r e x a m p l e , 0042320 i f { l i s p F O O 1 } 0042340 o p e r a t e s o n a l i 0042360 s t o f l e n g t h t e n 0042400 , e l e v e n f u n c t i o 0042420 n c a l l s w i l l b e 0042440 s a v e d . O f c o u r s 0042460 e , t h i s s a v i n g s 0042500 i n t i m e c o s t s s p 0042520 a c e , a n d t h e u s e 0042540 r m u s t d e c i d e w h 0042560 i c h i s m o r e i m p o 0042600 r t a n t . \r \r { n o t e w o 0042620 n ' t c o d e b e g e n e 0042640 r a t e d f o r e v e r y 0042660 t i m e t h e f n i s c 0042700 a l l e d i n F O O 1 ? ? 0042720 ? } \r \r } { E n d S u b S e c 0042740 F U N C T I O N a n d F u 0042760 n c t i o n a l A r g u m e n 0043000 t s } \r \r \r \r \r { B e g i n S 0043020 u b S e c O p e n F u n c t 0043040 i o n s } \r { T i t l e O p e 0043060 n F u n c t i o n s } \r { T e 0043100 x t \r \r { i n d e x * P R I M 0043120 A R Y * O p e n f u n c t i 0043140 o n s } \r { i n d e x * P R I 0043160 M A R Y * C o m p i l i n g 0043200 o p e n f u n c t i o n s } \r 0043220 \r W h e n a f u n c t i o n 0043240 i s c a l l e d f r o m 0043260 a c o m p i l e d f u n c t 0043300 i o n , a s y s t e m r o 0043320 u t i n e i s i n v o k e d 0043340 t h a t s e t s u p t h 0043360 e p a r a m e t e r a n d 0043400 c o n t r o l p u s h l i s 0043420 t s a s n e c e s s a r y 0043440 f o r v a r i a b l e b i n 0043460 d i n g s a n d r e t u r n 0043500 i n f o r m a t i o n . I 0043520 f t h e a m o u n t o f 0043540 t i m e s p e n t { i t i 0043560 n s i d e } t h e f u n c t 0043600 i o n i s s m a l l , t h 0043620 i s f u n c t i o n c a l l 0043640 i n g t i m e w i l l b e 0043660 a s i g n i f i c a n t p 0043700 e r c e n t a g e o f t h e 0043720 t o t a l t i m e r e q u 0043740 i r e d t o u s e t h e 0043760 f u n c t i o n . T h e r e 0044000 f o r e , m a n y " s m a l 0044020 l " f u n c t i o n s , e . 0044040 g . , { f n C A R } , { f 0044060 n C D R } , { f n E Q } , 0044100 { f n N O T } , { f n C 0044120 O N S } a r e a l w a y s 0044140 c o m p i l e d " o p e n " , 0044160 i . e . , t h e y d o n 0044200 o t r e s u l t i n a f 0044220 u n c t i o n c a l l . O 0044240 t h e r l a r g e r f u n c 0044260 t i o n s s u c h a s { f 0044300 n P R O G } , { f n S E L 0044320 E C T Q } , { f n M A P C } 0044340 , e t c . a r e c o m p i 0044360 l e d o p e n b e c a u s e 0044400 t h e y a r e f r e q u e 0044420 n t l y u s e d . T h e 0044440 u s e r c a n m a k e o t 0044460 h e r f u n c t i o n s c o 0044500 m p i l e o p e n v i a { 0044520 i n d e x M A C R O P r o p 0044540 } { p r o p M A C R O } d e 0044560 f i n i t i o n s ( s e e { 0044600 P a g e R e f T a g M a c r 0044620 o s } ) . T h e u s e r 0044640 c a n a l s o a f f e c t 0044660 t h e c o m p i l e d c o d 0044700 e v i a { i n d e x C O M 0044720 P I L E U S E R F N V a r } { 0044740 v a r C O M P I L E U S E R F 0044760 N } ( { P a g e R e f V a r 0045000 C O M P I L E U S E R F N } ) 0045020 a n d { v a r C O M P I L 0045040 E T Y P E L S T } ( { P a g e 0045060 R e f V a r C O M P I L E T 0045100 Y P E L S T } ) . \r \r \r \r { n o 0045120 t e l i s t o f o p e n 0045140 f u n c t i o n s c o m m e n 0045160 t e d o u t - - - d o w 0045200 e r e a l l y n e e d t h 0045220 i s l i s t h e r e ? d 0045240 o e s a n y o n e e v e r 0045260 u s e i t ? H o w c a n 0045300 w e b e s u r e t h i s 0045320 l i s t i s c o r r e c t 0045340 ? - - - m j s } \r \r \r \r { B e 0045360 g i n C o m m e n t } \r n o t 0045400 e : i s i t r e a l l y 0045420 n e c e s s a r y t o h a v 0045440 e t h i s l i s t ? ? i s 0045460 n ' t t h e r e s o m e w 0045500 a y f o r p e o p l e t o 0045520 f i n d o u t w h e t h e 0045540 r a g i v e n f u n c t i 0045560 o n c o m p i l e s o p e n 0045600 ? ? I n I n t e r l i s p - 0045620 D , a r e n ' t a l l o p 0045640 e n - c o m p i l e d f n s 0045660 d o n e w i t h m a c r o s 0045700 ( e x c e p t f o r a f 0045720 e w s p e c i a l o n e s 0045740 ( l i k e C O N D ) t h a t 0045760 t h e c o m p i l e r t r 0046000 e a t s s p e c i a l l y ) 0046020 ? ? H o w a b o u t i n 0046040 I n t e r l i s p - 1 0 ? ? 0046060 F r a n k l y , I w o n d 0046100 e r i f a n y o n e h a s 0046120 e v e r l o o k e d a t 0046140 t h i s l i s t ! \r \r - - - - 0046160 - - - - - - \r \r I t i s u s 0046200 e f u l t o k n o w e x a 0046220 c t l y w h i c h f u n c t 0046240 i o n s a r e c o m p i l e 0046260 d o p e n i n o r d e r 0046300 t o d e t e r m i n e w h e 0046320 r e a p r o g r a m i s 0046340 s p e n d i n g i t s t i m 0046360 e . T h e r e f o r e b e 0046400 l o w i s a l i s t o f 0046420 t h o s e f u n c t i o n s 0046440 w h i c h w h e n c o m p 0046460 i l e d d o n o t r e s u 0046500 l t i n f u n c t i o n c 0046520 a l l s . T h e f o l l o 0046540 w i n g f u n c t i o n s c 0046560 o m p i l e o p e n i n I 0046600 n t e r l i s p - 1 0 : \r \r N o 0046620 t e : S o m e o f t h e s 0046640 e c o m p i l e i n - l i n 0046660 e v i a m a c r o e x p a 0046700 n s i o n s a n d s o m e 0046720 c o m p i l e s o a s t o 0046740 u s e a { l i s p P U S 0046760 H J } t o j u m p i n t o 0047000 s y s t e m c o d e . T 0047020 h e i m p o r t a n t p o i 0047040 n t f r o m t h e u s e r 0047060 ' s s t a n d p o i n t i s 0047100 t h a t a l l o f t h e 0047120 m d o n o t r e q u i r e 0047140 a f u n c t i o n c a l l 0047160 . \r \r \r \r { l i s p A C } , 0047200 { l i s p A D D 1 } , { l i 0047220 s p A N D } , { l i s p A 0047240 P P L Y * } , { l i s p A R 0047260 G } ( w h e n t h e { l i 0047300 s p A R G } v a r i a b l e 0047320 i s b o u n d l o c a l l 0047340 y ) , { l i s p A R R A Y P 0047360 } , { l i s p A S S E M B L 0047400 E } , { l i s p A T O M } , 0047420 { l i s p B L K A P P L Y } 0047440 , { l i s p B L K A P P L Y 0047460 * } , { l i s p B O U N D P 0047500 } , { l i s p C A R } , { 0047520 l i s p C D R } , { l i s p 0047540 C A A R } , { e l l i p s i 0047560 s } { l i s p C D D D A R } 0047600 , { l i s p C D D D D R } , 0047620 { l i s p C L O S E R } , 0047640 { l i s p C O N D } , { l i 0047660 s p C O N S } , { l i s p 0047700 C O N S T A N T } , { l i s p 0047720 C O R O U T I N E } , { l i 0047740 s p D O C O L L E C T } , { 0047760 l i s p E N D C O L L E C T } 0050000 , { l i s p E Q } , { l i 0050020 s p E Q M E M B } , { l i s 0050040 p E R S E T Q } , \r { l i s p 0050060 E V A L V } ( w h e n g i 0050100 v e n o n l y o n e a r g 0050120 u m e n t ) , { l i s p E V 0050140 E R Y } , { l i s p E V Q } 0050160 , { l i s p F A S S O C } , 0050200 { l i s p F C H A R A C T E 0050220 R } , \r { l i s p F D I F F E 0050240 R E N C E } , { l i s p F G 0050260 E T D } , { l i s p F G R E 0050300 A T E R P } , { l i s p F I 0050320 X } , { l i s p F I X P } , 0050340 { l i s p F L A S T } , { 0050360 l i s p F L E N G T H } , { 0050400 l i s p F L O A T } , { l i 0050420 s p F L O A T P } , { l i s 0050440 p F M E M B } , { l i s p 0050460 F M I N U S } , { l i s p F 0050500 N T H } , { l i s p F P L U 0050520 S } , { l i s p F Q U O T I 0050540 E N T } , \r { l i s p F R P L 0050560 A C A } , { l i s p F R P L 0050600 A C D } , { l i s p F R P L 0050620 N O D E } , { l i s p F R P 0050640 L N O D E 2 } , { l i s p F 0050660 R P T Q } , { l i s p F T I 0050700 M E S } , { l i s p F U N C 0050720 T I O N } , { l i s p G E N 0050740 E R A T O R } , { l i s p G 0050760 E Q } ( i . e . , c o m p i 0051000 l e s o p e n a s a c a 0051020 l l t o { l i s p L E S S 0051040 P } . H o w e v e r , t h e 0051060 r e i s s t i l l t h i s 0051100 f u n c t i o n c a l l a 0051120 s s o c i a t e d w i t h t 0051140 h e { l i s p G E Q } e x 0051160 p r e s s i o n ) , { l i s p 0051200 G E T A T O M V A L } , { l 0051220 i s p G E T F I L E P T R } , 0051240 { l i s p G E T H A S H } , 0051260 { l i s p G E T P R O P L I 0051300 S T } , { l i s p G O } , 0051320 { l i s p I D I F F E R E N C 0051340 E } , { l i s p I E Q P } , 0051360 { l i s p I G E Q } , { l 0051400 i s p I G R E A T E R P } , 0051420 { l i s p I L E Q } , { l i 0051440 s p I L E S S P } , { l i s 0051460 p I M I N U S } , { l i s p 0051500 I N T E R R U P T A B L E } , 0051520 { l i s p I P L U S } , { 0051540 l i s p I Q U O T I E N T } , 0051560 { l i s p I R E M A I N D E 0051600 R } , { l i s p I T I M E S 0051620 } , { l i s p J S Y S } ( 0051640 W h e n t h e j s y s n u 0051660 m b e r i s i t s e l f a 0051700 s m a l l i n t e g e r , 0051720 a n d { l i s p R E S U L T 0051740 A C } i s e i t h e r a 0051760 s m a l l n u m b e r o r 0052000 { l i s p N I L } , e . g . 0052020 { l i s p ( J S Y S 5 1 Q 0052040 ) } b u t n o t { l i s p 0052060 ( J S Y S N ) } ) , { l i 0052100 s p K W O T E } , { l i s p 0052120 L E Q } ( S e e f o o t n 0052140 o t e t o { l i s p G E Q 0052160 } a b o v e ) , { l i s p 0052200 L I S P X W A T C H } , { l i 0052220 s p L I S T } , { l i s p 0052240 L I S T P } , { l i s p L I 0052260 T A T O M } , { l i s p L L 0052300 S H } , \r { l i s p L O C } , 0052320 { l i s p L O G A N D } , 0052340 { l i s p L O G O R } , { l 0052360 i s p L O G X O R } , { l i 0052400 s p L R S H } , { l i s p 0052420 L S H } , { l i s p M A P } 0052440 , { l i s p M A P C } , { 0052460 l i s p M A P C A R } , { l 0052500 i s p M A P C O N } , { l i 0052520 s p M A P C O N C } , \r { l i 0052540 s p M A P L I S T } , { l i 0052560 s p M I N U S P } , { l i s 0052600 p M K L I S T } , { l i s p 0052620 N C O N C 1 } , { l i s p 0052640 N E Q } , \r { l i s p N L I S 0052660 T P } , { l i s p N L S E T 0052700 Q } , { l i s p N O T } , 0052720 { l i s p N O T E V E R Y } , 0052740 { l i s p N O T A N Y } , \r 0052760 { l i s p N T Y P } , { l i 0053000 s p N U L L } , { l i s p 0053020 N U M B E R P } , { l i s p 0053040 O P E N R } , { l i s p O R 0053060 } , { l i s p P O S S I B I 0053100 L I T I E S } , { l i s p P 0053120 R O G } , { l i s p P R O G 0053140 1 } , { l i s p P R O G N } 0053160 , { l i s p R E S E T F O R 0053200 M } , { l i s p R E S E T L 0053220 S T } , { l i s p R E S E T 0053240 S A V E } , { l i s p R E S 0053260 E T V A R } , { l i s p R E 0053300 S E T V A R S } , \r { l i s p 0053320 R E T U R N } , { l i s p R 0053340 P T Q } , { l i s p R S H } 0053360 , { l i s p S E L E C T Q } 0053400 , { l i s p S E T } , { l 0053420 i s p S E T A R G } , { l i 0053440 s p S E T A T O M V A L } , 0053460 { l i s p S E T N } , { l i 0053500 s p S E T P R O P L I S T } , 0053520 { l i s p S E T Q } , { l 0053540 i s p S E T Q Q } , { l i s 0053560 p S M A L L P } , { l i s p 0053600 S O M E } , { l i s p S T 0053620 A C K P } , { l i s p S T R 0053640 I N G P } , { l i s p S U B 0053660 1 } , { l i s p S U B S E T 0053700 } , { l i s p S Y N T A X P 0053720 } ( w h e n c l a s s i s 0053740 q u o t e d , e . g . { l 0053760 i s p ( S Y N T A X P X ( 0054000 Q U O T E B R E A K ) ) } ) , 0054020 { l i s p S Y S T E M T Y P 0054040 E } , { l i s p T R Y N E X 0054060 T } , { l i s p T Y P E N A 0054100 M E P } , { l i s p T Y P E 0054120 P } , { l i s p U N D O N L 0054140 S E T Q } , { l i s p V A G 0054160 } , { l i s p Z E R O P } . 0054200 \r { E n d C o m m e n t } \r \r 0054220 \r \r \r } { E n d S u b S e c 0054240 O p e n F u n c t i o n s } \r 0054260 \r \r \r \r \r \r { B e g i n S u b 0054300 S e c C O M P I L E T Y P E L 0054320 S T } \r { T i t l e C O M P I 0054340 L E T Y P E L S T } \r { T e x t 0054360 \r \r { i n d e x C O M P I L E 0054400 T Y P E L S T V a r } \r { i n 0054420 d e x * P R I M A R Y * C o 0054440 m p i l i n g d a t a t y p 0054460 e s } \r { i n d e x * P R I M 0054500 A R Y * D a t a t y p e c 0054520 o m p i l i n g } \r \r M o s t 0054540 o f t h e c o m p i l e r ' 0054560 s m e c h a n i s m d e a l 0054600 s w i t h h o w t o h a 0054620 n d l e f o r m s ( l i s t 0054640 s ) a n d v a r i a b l e s 0054660 ( l i t e r a l a t o m s ) 0054700 . T h e u s e r c a n 0054720 a f f e c t t h e c o m p i 0054740 l e r ' s b e h a v i o u r 0054760 w i t h r e s p e c t t o 0055000 l i s t s a n d l i t e r a 0055020 l a t o m s i n a n u m 0055040 b e r o f w a y s , e . g 0055060 . m a c r o s , d e c l a r 0055100 a t i o n s , { v a r C O M 0055120 P I L E U S E R F N } ( { P a 0055140 g e R e f V a r C O M P I L 0055160 E U S E R F N } ) , e t c . 0055200 { v a r C O M P I L E T Y P 0055220 E L S T } a l l o w s t h e 0055240 u s e r t o t e l l t h 0055260 e c o m p i l e r w h a t 0055300 t o d o w h e n i t e n 0055320 c o u n t e r s a d a t a 0055340 t y p e { i t o t h e r } 0055360 t h a n a l i s t o r a 0055400 n a t o m . I t i s t 0055420 h e f a c i l i t y i n t 0055440 h e c o m p i l e r t h a t 0055460 c o r r e s p o n d s t o 0055500 { f n D E F E V A L } ( { P 0055520 a g e R e f F n D E F E V A 0055540 L } ) f o r t h e i n t e 0055560 r p r e t e r . \r \r { V a r D e 0055600 f { N a m e C O M P I L E T 0055620 Y P E L S T } \r { T e x t \r A 0055640 l i s t o f e l e m e n t s 0055660 o f t h e f o r m { l i 0055700 s p ( { a r g T Y P E N A M 0055720 E } . { a r g F U N C T I 0055740 O N } ) } . W h e n e v e r 0055760 t h e c o m p i l e r e n 0056000 c o u n t e r s a d a t u m 0056020 t h a t i s n o t a l 0056040 i s t a n d n o t a n a 0056060 t o m ( o r a n u m b e r 0056100 ) i n a c o n t e x t w 0056120 h e r e t h e d a t u m i 0056140 s b e i n g e v a l u a t e 0056160 d , t h e t y p e n a m e 0056200 o f t h e d a t u m i s 0056220 l o o k e d u p o n { v 0056240 a r C O M P I L E T Y P E L S 0056260 T } . I f a n e n t r y 0056300 a p p e a r s { f n C A R 0056320 } o f w h i c h i s e q 0056340 u a l t o t h e t y p e 0056360 n a m e , { f n C D R } o 0056400 f t h a t e n t r y i s 0056420 a p p l i e d t o t h e d 0056440 a t u m . I f t h e v a 0056460 l u e r e t u r n e d b y 0056500 t h i s a p p l i c a t i o n 0056520 i s { i t n o t } { f n 0056540 E Q } t o t h e d a t u 0056560 m , t h e n t h a t v a l 0056600 u e i s c o m p i l e d i 0056620 n s t e a d . I f t h e 0056640 v a l u e { i t i s } { f 0056660 n E Q } t o t h e d a t 0056700 u m , o r i f t h e r e 0056720 i s n o e n t r y o n { 0056740 v a r C O M P I L E T Y P E L 0056760 S T } f o r t h i s t y p 0057000 e n a m e , t h e c o m p 0057020 i l e r s i m p l y c o m p 0057040 i l e s t h e d a t u m a 0057060 s { l i s p ( Q U O T E { 0057100 a r g D A T U M } ) } . \r } } 0057120 \r \r \r } { E n d S u b S e c 0057140 C O M P I L E T Y P E L S T } \r 0057160 \r \r \r \r \r \r { B e g i n S u b 0057200 S e c C o m p i l i n g C L 0057220 I S P } \r { T i t l e C o m p 0057240 i l i n g C L I S P } \r { T e 0057260 x t \r \r { T a g C o m p i l i 0057300 n g C L I S P } \r \r \r { i n d e 0057320 x * P R I M A R Y * C o m p 0057340 i l i n g C L I S P } \r \r S i 0057360 n c e t h e c o m p i l e r 0057400 d o e s n o t k n o w a 0057420 b o u t C L I S P , i n o 0057440 r d e r t o c o m p i l e 0057460 f u n c t i o n s c o n t a i 0057500 n i n g C L I S P c o n s t 0057520 r u c t s , t h e d e f i n 0057540 i t i o n s m u s t f i r s 0057560 t b e { f n D W I M I F Y 0057600 } e d ( { P a g e R e f F n 0057620 D W I M I F Y } ) . T h e 0057640 u s e r c a n a u t o m a 0057660 t e t h i s p r o c e s s 0057700 i n s e v e r a l w a y s : 0057720 \r \r ( 1 ) I f t h e v a 0057740 r i a b l e { i n d e x D W 0057760 I M I F Y C O M P F L G V a r 0060000 } { v a r D W I M I F Y C O M 0060020 P F L G } i s { l i s p T 0060040 } , t h e c o m p i l e r 0060060 w i l l a l w a y s { f n 0060100 D W I M I F Y } e x p r e s s 0060120 i o n s b e f o r e c o m p 0060140 i l i n g t h e m . { v a 0060160 r D W I M I F Y C O M P F L G 0060200 } i s i n i t i a l l y { 0060220 l i s p N I L } . \r \r \r ( 2 ) 0060240 I f a f i l e h a s 0060260 t h e p r o p e r t y { i n 0060300 d e x F I L E T Y P E P r o 0060320 p } { p r o p F I L E T Y P E 0060340 } w i t h v a l u e { l i 0060360 s p C L I S P } o n i t s 0060400 p r o p e r t y l i s t , 0060420 { f n T C O M P L } , { f n 0060440 B C O M P L } , { f n R E 0060460 C O M P I L E } , a n d { f 0060500 n B R E C O M P I L E } w i 0060520 l l o p e r a t e a s t h 0060540 o u g h { v a r D W I M I F 0060560 Y C O M P F L G } i s { l i 0060600 s p T } a n d { f n D W 0060620 I M I F Y } a l l e x p r e 0060640 s s i o n s b e f o r e c o 0060660 m p i l i n g . \r \r \r ( 3 ) 0060700 I f t h e f u n c t i o n 0060720 d e f i n i t i o n h a s a 0060740 l o c a l { l i s p C L I 0060760 S P } d e c l a r a t i o n 0061000 ( s e e { P a g e R e f T a 0061020 g C L I S P L o c a l D e c l 0061040 a r a t i o n s } ) , i n c l 0061060 u d i n g a n u l l d e c 0061100 l a r a t i o n , i . e . , 0061120 j u s t { l i s p ( C L I S 0061140 P : ) } , t h e d e f i n i 0061160 t i o n w i l l b e a u t 0061200 o m a t i c a l l y { f n D 0061220 W I M I F Y } e d b e f o r e 0061240 c o m p i l i n g . \r \r \r N o 0061260 t e : { v a r C O M P I L 0061300 E U S E R F N } { i n d e x C 0061320 O M P I L E U S E R F N F N } 0061340 ( { P a g e R e f V a r C 0061360 O M P I L E U S E R F N } ) i 0061400 s d e f i n e d t o c a l 0061420 l { f n D W I M I F Y } o 0061440 n i t e r a t i v e s t a t 0061460 e m e n t s , { l i s p I F 0061500 } - { l i s p T H E N } s t 0061520 a t e m e n t s , a n d { l 0061540 i s p f e t c h } , { l i s 0061560 p r e p l a c e } , a n d 0061600 { l i s p m a t c h } e x p 0061620 r e s s i o n s , i . e . , 0061640 a n y C L I S P c o n s t r 0061660 u c t w h i c h c a n b e 0061700 r e c o g n i z e d b y i 0061720 t s { f n C A R } o f f 0061740 o r m . T h u s , i f t 0061760 h e o n l y C L I S P c o 0062000 n s t r u c t s i n a f u 0062020 n c t i o n a p p e a r i n 0062040 s i d e o f i t e r a t i v 0062060 e s t a t e m e n t s , { l 0062100 i s p I F } s t a t e m e n 0062120 t s , e t c . , t h e f u 0062140 n c t i o n d o e s n o t 0062160 h a v e t o b e d w i m i 0062200 f i e d b e f o r e c o m p 0062220 i l i n g . \r \r \r I f { f n 0062240 D W I M I F Y } i s e v e r 0062260 u n s u c c e s s f u l i n 0062300 p r o c e s s i n g a { l 0062320 i s p C L I S P } e x p r e 0062340 s s i o n , i t w i l l p 0062360 r i n t t h e e r r o r m 0062400 e s s a g e { i n d e x U N 0062420 A B L E T O D W I M I F Y 0062440 E r r o r } { l i s p U N A B 0062460 L E T O D W I M I F Y } f 0062500 o l l o w e d b y t h e e 0062520 x p r e s s i o n , a n d g 0062540 o i n t o a b r e a k u 0062560 n l e s s { v a r D W I M E 0062600 S S G A G } { i n d e x D W I 0062620 M E S S G A G V a r } = { l i 0062640 s p T } . I n t h i s 0062660 c a s e , t h e e x p r e s 0062700 s i o n i s j u s t c o m 0062720 p i l e d a s i s , i . e 0062740 . a s t h o u g h C L I S 0062760 P h a d n o t b e e n e 0063000 n a b l e d . T h e u s e 0063020 r c a n e x i t t h e b 0063040 r e a k i n s e v e r a l 0063060 d i f f e r e n t w a y s : 0063100 ( 1 ) t y p e { l i s p 0063120 O K } t o t h e b r e a k 0063140 , w h i c h w i l l c a u 0063160 s e t h e c o m p i l e r 0063200 t o t r y a g a i n , e . 0063220 g . t h e u s e r c o u l 0063240 d d e f i n e s o m e m i 0063260 s s i n g r e c o r d s w h 0063300 i l e i n t h e b r e a k 0063320 , a n d t h e n c o n t i 0063340 n u e ; o r ( 2 ) t y p 0063360 e { l i s p ^ } , w h i c 0063400 h w i l l c a u s e t h e 0063420 c o m p i l e r t o s i m 0063440 p l y c o m p i l e t h e 0063460 e x p r e s s i o n a s i s 0063500 , i . e . a s t h o u g h 0063520 C L I S P h a d n o t b 0063540 e e n e n a b l e d i n t 0063560 h e f i r s t p l a c e ; 0063600 o r ( 3 ) r e t u r n a 0063620 n e x p r e s s i o n t o 0063640 b e c o m p i l e d i n i 0063660 t s p l a c e b y u s i n 0063700 g t h e { b r e a k c o m 0063720 R E T U R N } b r e a k c o 0063740 m m a n d ( { P a g e R e f 0063760 B r e a k C o m R E T U R N } 0064000 ) . \r \r \r \r N o t e : { f n 0064020 T C O M P L } , { f n B C O 0064040 M P L } , { f n R E C O M P 0064060 I L E } , a n d { f n B R 0064100 E C O M P I L E } a l l s c 0064120 a n t h e e n t i r e f i 0064140 l e b e f o r e d o i n g 0064160 a n y c o m p i l i n g , a 0064200 n d t a k e n o t e o f 0064220 t h e n a m e s o f a l l 0064240 f u n c t i o n s t h a t 0064260 a r e d e f i n e d i n t 0064300 h e f i l e a s w e l l 0064320 a s t h e n a m e s o f 0064340 a l l v a r i a b l e s t h 0064360 a t a r e s e t b y a d 0064400 d i n g t h e m t o { i n 0064420 d e x N O F I X F N S L S T 0064440 V a r } { v a r N O F I X F N 0064460 S L S T } a n d { i n d e x 0064500 N O F I X V A R S L S T V a 0064520 r } { v a r N O F I X V A R S 0064540 L S T } , r e s p e c t i v e 0064560 l y . \r T h u s , i f a f 0064600 u n c t i o n i s n o t c 0064620 u r r e n t l y d e f i n e d 0064640 , b u t { i t i s } d e 0064660 f i n e d i n t h e f i l 0064700 e b e i n g c o m p i l e d 0064720 , w h e n { f n D W I M I 0064740 F Y } i s c a l l e d b e 0064760 f o r e c o m p i l i n g , 0065000 i t w i l l n o t a t t e 0065020 m p t t o i n t e r p r e t 0065040 t h e f u n c t i o n n a 0065060 m e a s C L I S P w h e n 0065100 i t a p p e a r s a s { 0065120 f n C A R } o f a f o r 0065140 m . { f n D W I M I F Y } 0065160 a l s o t a k e s i n t o 0065200 a c c o u n t v a r i a b l 0065220 e s t h a t h a v e b e e 0065240 n d e c l a r e d t o b e 0065260 { l i s p L O C A L V A R S 0065300 } , o r { l i s p S P E C 0065320 V A R S } , e i t h e r v i 0065340 a b l o c k d e c l a r a t 0065360 i o n s o r { l i s p D E 0065400 C L A R E } e x p r e s s i o 0065420 n s i n t h e f u n c t i 0065440 o n b e i n g c o m p i l e 0065460 d , a n d d o e s n o t 0065500 a t t e m p t s p e l l i n g 0065520 c o r r e c t i o n o n t 0065540 h e s e v a r i a b l e s . 0065560 T h e d e c l a r a t i o n 0065600 { i n d e x U S E D F R E E 0065620 ( C L I S P d e c l a r a t 0065640 i o n ) } { l i s p U S E D F 0065660 R E E } m a y a l s o b e 0065700 u s e d t o d e c l a r e 0065720 v a r i a b l e s s i m p l 0065740 y u s e d f r e e l y i n 0065760 a f u n c t i o n . T h 0066000 e s e v a r i a b l e s w i 0066020 l l a l s o b e l e f t 0066040 a l o n e b y { f n D W I 0066060 M I F Y } . F i n a l l y , 0066100 { v a r N O S P E L L F L G 0066120 } ( { P a g e R e f V a r 0066140 N O S P E L L F L G } ) i s 0066160 r e s e t t o { l i s p T 0066200 } w h e n c o m p i l i n g 0066220 f u n c t i o n s f r o m 0066240 a f i l e ( a s o p p o s 0066260 e d t o f r o m t h e i r 0066300 i n - c o r e d e f i n i t 0066320 i o n ) s o a s t o s u 0066340 p p r e s s s p e l l i n g 0066360 c o r r e c t i o n . \r \r } { E 0066400 n d S u b S e c C o m p i l 0066420 i n g C L I S P } \r \r \r \0 \0 \0 0066440 \0 \0 004 \0 001 \0 ? \0 1 ( D E F A U L 0066460 T F O N T 1 ( G A C H A 1 0066500 0 ) ( G A C H A 8 ) ( T E 0066520 R M I N A L 8 ) ) \0 \n \0 \0 \0 \0 0066540 \0 \0 \0 \0 \0 \0 m 035 \0 \0 \0 \0 001 \0 \0 m 0066560 035 \0 001 z 272 0066565