$ od -c -N 50000 [eris]<LispManual>FnTypes.im!4 0000000 \r \r \r { B e g i n S u b S e c 0000020 F u n c t i o n T y p e s } 0000040 \r { T i t l e F u n c t i o n 0000060 T y p e s } \r { T e x t \r \r { 0000100 i n d e x * B E G I N * f u 0000120 n c t i o n t y p e s } \r \r { 0000140 T a g F n T y p e s } \r \r \r I 0000160 n t e r l i s p f u n c t i o 0000200 n s a r e d e f i n e d u 0000220 s i n g l i s t e x p r e s 0000240 s i o n s c a l l e d { l i 0000260 s p E X P R } s . A n { 0000300 l i s p E X P R } i s a 0000320 l i s t o f t h e f o r m 0000340 { l i s p ( { a r g L A M 0000360 B D A - W O R D } { a r g A 0000400 R G - L I S T } { a r g F O 0000420 R M { s u b 1 } } { e l l i 0000440 p s i s } { a r g F O R M { 0000460 s u b N } } ) } . { a r g 0000500 L A M B D A - W O R D } d e 0000520 t e r m i n e s w h e t h e r 0000540 t h e a r g u m e n t s t 0000560 o t h i s f u n c t i o n 0000600 w i l l b e e v a l u a t e 0000620 d o r n o t , { a r g A 0000640 R G - L I S T } { i n d e x a 0000660 r g u m e n t l i s t } d e 0000700 t e r m i n e s t h e n u m 0000720 b e r a n d n a m e s o f 0000740 a r g u m e n t s , a n d 0000760 { a r g F O R M { s u b 1 } 0001000 } { e l l i p s i s } { a r 0001020 g F O R M { s u b N } } a 0001040 r e a s e r i e s o f f 0001060 o r m s t o b e e v a l u 0001100 a t e d a f t e r t h e a 0001120 r g u m e n t s a r e b o u 0001140 n d t o t h e l o c a l 0001160 v a r i a b l e s i n { a r 0001200 g A R G - L I S T } . \r \r I f 0001220 { a r g L A M B D A - W O R 0001240 D } i s t h e l i t a t o 0001260 m { a t o m L A M B D A } , 0001300 { i n d e x * P R I M A R Y * 0001320 L A M B D A L i t a t o m } 0001340 t h e n t h e a r g u m e 0001360 n t s t o t h e f u n c t 0001400 i o n a r e e v a l u a t e 0001420 d . I f { a r g L A M B 0001440 D A - W O R D } i s t h e 0001460 l i t a t o m { a t o m N L 0001500 A M B D A } , { i n d e x * P 0001520 R I M A R Y * N L A M B D A 0001540 L i t a t o m } t h e n t h 0001560 e a r g u m e n t s t o t 0001600 h e f u n c t i o n a r e 0001620 n o t e v a l u a t e d . 0001640 F u n c t i o n s w h i c h 0001660 e v a l u a t e o r d o n ' 0001700 t e v a l u a t e t h e i r 0001720 a r g u m e n t s a r e t 0001740 h e r e f o r e k n o w n a 0001760 s " l a m b d a " { i n d e x 0002000 * P R I M A R Y * l a m b d 0002020 a f u n c t i o n s } o r 0002040 " n l a m b d a " { i n d e x 0002060 * P R I M A R Y * n l a m b d 0002100 a f u n c t i o n s } f u n 0002120 c t i o n s , r e s p e c t i 0002140 v e l y . \r \r I f { a r g A 0002160 R G - L I S T } i s { l i s 0002200 p N I L } o r a l i s t 0002220 o f l i t a t o m s , t h 0002240 i s i n d i c a t e s a f 0002260 u n c t i o n w i t h a f 0002300 i x e d n u m b e r o f a 0002320 r g u m e n t s . { i n d e x 0002340 f i x e d n u m b e r o f 0002360 a r g u m e n t s } E a c h 0002400 l i t a t o m i s t h e 0002420 n a m e o f a n a r g u m 0002440 e n t f o r t h e f u n c 0002460 t i o n d e f i n e d b y 0002500 t h i s e x p r e s s i o n . 0002520 T h e p r o c e s s o f 0002540 b i n d i n g t h e s e l 0002560 i t a t o m s t o t h e i 0002600 n d i v i d u a l a r g u m e 0002620 n t s i s c a l l e d " s 0002640 p r e a d i n g " { i n d e x 0002660 s p r e a d i n g a r g u m e 0002700 n t s } t h e a r g u m e n 0002720 t s , a n d t h e f u n c 0002740 t i o n i s c a l l e d a 0002760 " s p r e a d " f u n c t i 0003000 o n . { i n d e x * P R I M A 0003020 R Y * s p r e a d f u n c t 0003040 i o n s } I f t h e a r 0003060 g u m e n t l i s t i s a 0003100 n y l i t a t o m o t h e r 0003120 t h a n { l i s p N I L } 0003140 , t h i s i n d i c a t e s 0003160 a f u n c t i o n w i t h 0003200 a v a r i a b l e n u m b 0003220 e r o f a r g u m e n t s , 0003240 { i n d e x v a r i a b l e 0003260 n u m b e r o f a r g u m e 0003300 n t s } k n o w n a s a 0003320 " n o s p r e a d " f u n c t 0003340 i o n . { i n d e x * P R I M 0003360 A R Y * n o s p r e a d f u 0003400 n c t i o n s } \r \r I f { a r 0003420 g A R G - L I S T } i s a 0003440 n y t h i n g o t h e r t h 0003460 a n a l i t a t o m o r 0003500 a l i s t o f l i t a t o 0003520 m s , s u c h a s { l i s 0003540 p ( L A M B D A " F O O " 0003560 { e l l i p s i s } ) } , a t 0003600 t e m p t i n g t o u s e 0003620 t h i s { l i s p E X P R } 0003640 w i l l g e n e r a t e a 0003660 n { l i s p A R G N O T 0003700 L I T A T O M } e r r o r . { 0003720 i n d e x A R G N O T L I 0003740 T A T O M E r r o r } I n 0003760 a d d i t i o n , i f { l 0004000 i s p N I L } o r { l i s 0004020 p T } i s u s e d a s 0004040 a n a r g u m e n t n a m e 0004060 , t h e e r r o r { l i s 0004100 p A T T E M P T T O B I N 0004120 D N I L O R T } i s g 0004140 e n e r a t e d . { i n d e x 0004160 A T T E M P T T O B I N D 0004200 N I L O R T E r r o r } \r 0004220 \r \r T h e s e t w o p a r a 0004240 m e t e r s ( l a m b d a / n 0004260 l a m b d a a n d s p r e a 0004300 d / n o s p r e a d ) m a y 0004320 b e s p e c i f i e d i n d 0004340 e p e n d e n t l y , s o t 0004360 h e r e a r e f o u r m a 0004400 i n f u n c t i o n t y p e 0004420 s , k n o w n a s l a m b 0004440 d a - s p r e a d , n l a m b 0004460 d a - s p r e a d , l a m b d 0004500 a - n o s p r e a d , a n d 0004520 n l a m b d a - n o s p r e a d 0004540 f u n c t i o n s . E a c 0004560 h o n e h a s a d i f f 0004600 e r e n t f o r m , a n d 0004620 i s u s e d f o r a d i 0004640 f f e r e n t p u r p o s e . 0004660 T h e s e f o u r f u n 0004700 c t i o n t y p e s a r e 0004720 d e s c r i b e d m o r e f 0004740 u l l y b e l o w . \r \r \r N o 0004760 t e : T h e L a m b d a t 0005000 r a n l i s p u s e r s p a 0005020 c k a g e p r o v i d e s f 0005040 a c i l i t i e s f o r c r 0005060 e a t i n g n e w f u n c t 0005100 i o n t y p e s w h i c h 0005120 e v a l u a t e / s p r e a d 0005140 t h e i r a r g u m e n t s 0005160 i n d i f f e r e n t w a y 0005200 s t h a n t h o s e p r o 0005220 v i d e d b y I n t e r l i 0005240 s p . S e e { P a g e R e 0005260 f T a g L A M B D A T R A N 0005300 } . \r \r \r \r { B e g i n S u b 0005320 S e c L a m b d a - S p r e a 0005340 d F u n c t i o n s } \r { T i 0005360 t l e L a m b d a - S p r e a 0005400 d F u n c t i o n s } \r { T e 0005420 x t \r \r { i n d e x * P R I M 0005440 A R Y * l a m b d a - s p r e 0005460 a d f u n c t i o n s } \r \r L 0005500 a m b d a - s p r e a d f u n 0005520 c t i o n s t a k e a f i 0005540 x e d n u m b e r o f e v 0005560 a l u a t e d a r g u m e n t 0005600 s . T h i s i s t h e 0005620 m o s t c o m m o n f u n c 0005640 t i o n t y p e . A l a 0005660 m b d a - s p r e a d { l i s 0005700 p E X P R } h a s t h e 0005720 f o r m : \r \r { l i s p c o d e 0005740 ( L A M B D A ( { a r g A 0005760 R G { s u b 1 } } { e l l i 0006000 p s i s } { a r g A R G { s 0006020 u b M } } ) { a r g F O R 0006040 M { s u b 1 } } { e l l i p 0006060 s i s } { a r g F O R M { s 0006100 u b N } } ) } \r \r T h e a r 0006120 g u m e n t l i s t { l i s 0006140 p ( { a r g A R G { s u b 0006160 1 } } { e l l i p s i s } { 0006200 a r g A R G { s u b M } } ) 0006220 } i s a l i s t o f l 0006240 i t a t o m s t h a t g i v 0006260 e s t h e n u m b e r a n 0006300 d n a m e s o f t h e f 0006320 o r m a l a r g u m e n t s 0006340 t o t h e f u n c t i o n . 0006360 I f t h e a r g u m e n 0006400 t l i s t i s { l i s p 0006420 ( ) } o r { a t o m N I L 0006440 } , t h i s i n d i c a t e 0006460 s t h a t t h e f u n c t 0006500 i o n t a k e s n o a r g 0006520 u m e n t s . W h e n a 0006540 l a m b d a - s p r e a d f u 0006560 n c t i o n i s a p p l i e 0006600 d t o s o m e a r g u m e 0006620 n t s , t h e a r g u m e n 0006640 t s a r e e v a l u a t e d 0006660 , a n d b o u n d t o t 0006700 h e l o c a l v a r i a b l 0006720 e s { a r g A R G { s u b 0006740 1 } } { e l l i p s i s } { 0006760 a r g A R G { s u b M } } . 0007000 T h e n , { a r g F O R 0007020 M { s u b 1 } } { e l l i p 0007040 s i s } { a r g F O R M { s 0007060 u b N } } a r e e v a l u 0007100 a t e d i n o r d e r , a 0007120 n d t h e v a l u e o f 0007140 t h e f u n c t i o n i s 0007160 t h e v a l u e o f { a r 0007200 g F O R M { s u b N } } . \r 0007220 \r \r { l i s p c o d e \r _ ( D 0007240 E F I N E Q ( F O O ( L A M 0007260 B D A ( X Y ) ( P R I N T 0007300 X ) ( P R I N T Y ) ) ) 0007320 ) \r ( F O O ) \r _ ( F O O 9 0007340 9 ( P L U S 3 4 ) ) \r 9 9 0007360 \r 7 \r 7 \r _ } \r \r I n t h e 0007400 a b o v e e x a m p l e , t 0007420 h e f u n c t i o n { l i s 0007440 p F O O } d e f i n e d b 0007460 y { l i s p ( L A M B D A 0007500 ( X Y ) ( P R I N T X ) 0007520 ( P R I N T Y ) ) } i s a 0007540 p p l i e d t o t h e a r 0007560 g u m e n t s { l i s p 9 9 0007600 } a n d { l i s p ( P L U 0007620 S 3 4 ) } , t h e s e a 0007640 r g u m e n t s a r e e v a 0007660 l u a t e d ( g i v i n g 9 0007700 9 a n d 7 ) , t h e l o 0007720 c a l v a r i a b l e { l i 0007740 s p X } i s b o u n d t 0007760 o 9 9 a n d { l i s p Y 0010000 } t o 7 , { l i s p ( P 0010020 R I N T X ) } i s e v a l 0010040 u a t e d , p r i n t i n g 0010060 9 9 , { l i s p ( P R I N T 0010100 Y ) } i s e v a l u a t e 0010120 d , p r i n t i n g 7 , a 0010140 n d 7 ( t h e { i t v a 0010160 l u e } o f { l i s p ( P 0010200 R I N T Y ) } ) i s r e t 0010220 u r n e d a s t h e v a l 0010240 u e o f t h e f u n c t i 0010260 o n . \r \r \r A s t a n d a r d 0010300 f e a t u r e o f t h e 0010320 I n t e r l i s p s y s t e m 0010340 i s t h a t n o e r r o 0010360 r o c c u r s i f a s p 0010400 r e a d f u n c t i o n i s 0010420 c a l l e d w i t h t o o 0010440 m a n y o r t o o f e w 0010460 a r g u m e n t s . { i n d e 0010500 x i n c o r r e c t n u m b 0010520 e r o f a r g u m e n t s } 0010540 I f a f u n c t i o n 0010560 i s c a l l e d w i t h t 0010600 o o m a n y a r g u m e n t 0010620 s , { i n d e x t o o m a n 0010640 y a r g u m e n t s } t h e 0010660 e x t r a a r g u m e n t s 0010700 a r e e v a l u a t e d b 0010720 u t i g n o r e d . I f 0010740 a f u n c t i o n i s c a 0010760 l l e d w i t h t o o f e 0011000 w a r g u m e n t s , { i n d 0011020 e x t o o f e w a r g u m 0011040 e n t s } t h e u n s u p p 0011060 l i e d o n e s w i l l b 0011100 e d e l i v e r e d a s { 0011120 l i s p N I L } . I n f 0011140 a c t , a s p r e a d f u 0011160 n c t i o n c a n n o t d i 0011200 s t i n g u i s h b e t w e e 0011220 n b e i n g g i v e n { l 0011240 i s p N I L } a s a n a 0011260 r g u m e n t , a n d n o t 0011300 b e i n g g i v e n t h a 0011320 t a r g u m e n t , e . g . 0011340 , { l i s p ( F O O ) } a 0011360 n d { l i s p ( F O O N I 0011400 L ) } a r e { i t e x a c 0011420 t l y } t h e s a m e f o 0011440 r s p r e a d f u n c t i o 0011460 n s . I f i t i s n e 0011500 c e s s a r y t o d i s t i 0011520 n g u i s h b e t w e e n t 0011540 h e s e t w o c a s e s , 0011560 u s e a n n l a m b d a f 0011600 u n c t i o n a n d e x p l 0011620 i c i t l y e v a l u a t e 0011640 t h e a r g u m e n t s w i 0011660 t h t h e { f n E V A L } 0011700 f u n c t i o n ( { P a g e 0011720 R e f F n E V A L } ) . \r \r 0011740 \r } { E n d S u b S e c L a 0011760 m b d a - S p r e a d F u n c 0012000 t i o n s } \r \r \r \r { B e g i n 0012020 S u b S e c N l a m b d a - 0012040 S p r e a d F u n c t i o n s 0012060 } \r { T i t l e N l a m b d a 0012100 - S p r e a d F u n c t i o n 0012120 s } \r { T e x t \r \r { i n d e x 0012140 * P R I M A R Y * n l a m b 0012160 d a - s p r e a d f u n c t i 0012200 o n s } \r \r N l a m b d a - s p 0012220 r e a d f u n c t i o n s t 0012240 a k e a f i x e d n u m b 0012260 e r o f u n e v a l u a t e 0012300 d a r g u m e n t s . A n 0012320 n l a m b d a - s p r e a d 0012340 { l i s p E X P R } h a s 0012360 t h e f o r m : \r \r { l i s p 0012400 c o d e ( N L A M B D A ( { 0012420 a r g A R G { s u b 1 } } 0012440 { e l l i p s i s } { a r g 0012460 A R G { s u b M } } ) { a r 0012500 g F O R M { s u b 1 } } { 0012520 e l l i p s i s } { a r g F 0012540 O R M { s u b N } } ) } \r \r N 0012560 l a m b d a - s p r e a d f u 0012600 n c t i o n s a r e e v a l 0012620 u a t e d s i m i l a r l y 0012640 t o l a m b d a - s p r e a d 0012660 f u n c t i o n s , e x c e 0012700 p t t h a t t h e a r g u 0012720 m e n t s a r e n o t e v 0012740 a l u a t e d b e f o r e b 0012760 e i n g b o u n d t o t h 0013000 e v a r i a b l e s { a r g 0013020 A R G { s u b 1 } } { e l 0013040 l i p s i s } { a r g A R G 0013060 { s u b M } } . \r \r { l i s p 0013100 c o d e \r _ ( D E F I N E Q 0013120 ( F O O ( N L A M B D A ( X 0013140 Y ) ( P R I N T X ) ( P 0013160 R I N T Y ) ) ) ) \r ( F O O 0013200 ) \r _ ( F O O 9 9 ( P L U 0013220 S 3 4 ) ) \r 9 9 \r ( P L U S 0013240 3 4 ) \r ( P L U S 3 4 ) 0013260 \r _ } \r \r I n t h e a b o v 0013300 e e x a m p l e , t h e f 0013320 u n c t i o n { l i s p F O 0013340 O } d e f i n e d b y { l 0013360 i s p ( N L A M B D A ( X 0013400 Y ) ( P R I N T X ) ( P R 0013420 I N T Y ) ) } i s a p p l 0013440 i e d t o t h e a r g u m 0013460 e n t s { l i s p 9 9 } a 0013500 n d { l i s p ( P L U S 3 0013520 4 ) } , t h e s e a r g u 0013540 m e n t s a r e b o u n d 0013560 u n e v a l u a t e d t o { 0013600 l i s p X } a n d { l i s 0013620 p Y } , { l i s p ( P R I 0013640 N T X ) } i s e v a l u a 0013660 t e d , p r i n t i n g { l 0013700 i s p 9 9 } , { l i s p ( 0013720 P R I N T Y ) } i s e v a 0013740 l u a t e d , p r i n t i n g 0013760 { l i s p ( P L U S 3 4 0014000 ) } , a n d t h e l i s t 0014020 { l i s p ( P L U S 3 4 0014040 ) } i s r e t u r n e d a 0014060 s t h e v a l u e o f t 0014100 h e f u n c t i o n . \r \r N o 0014120 t e : F u n c t i o n s c 0014140 a n b e d e f i n e d s o 0014160 t h a t a l l o f t h e 0014200 i r a r g u m e n t s a r e 0014220 e v a l u a t e d ( l a m b 0014240 d a f u n c t i o n s ) o r 0014260 n o n e a r e e v a l u a 0014300 t e d ( n l a m b d a f u n 0014320 c t i o n s ) . I f i t 0014340 i s d e s i r a b l e t o 0014360 w r i t e a f u n c t i o n 0014400 w h i c h o n l y e v a l 0014420 u a t e s { i t s o m e } 0014440 o f i t s a r g u m e n t s 0014460 ( e . g . { f n S E T Q } 0014500 ) , t h e f u n c t i o n 0014520 s h o u l d b e d e f i n e 0014540 d a s a n n l a m b d a , 0014560 w i t h s o m e a r g u m 0014600 e n t s e x p l i c i t l y 0014620 e v a l u a t e d u s i n g 0014640 t h e f u n c t i o n { f n 0014660 E V A L } ( { P a g e R e f 0014700 F n E V A L } ) . I f 0014720 t h i s i s d o n e , t h 0014740 e u s e r s h o u l d p u 0014760 t t h e l i t a t o m { l 0015000 i s p E V A L } o n t h e 0015020 p r o p e r t y l i s t o 0015040 f t h e f u n c t i o n u 0015060 n d e r t h e p r o p e r t 0015100 y { p r o p I N F O } . { i 0015120 n d e x I N F O P r o p } 0015140 T h i s i n f o r m s v a 0015160 r i o u s s y s t e m p a c 0015200 k a g e s s u c h a s D W 0015220 I M , C L I S P , a n d M 0015240 a s t e r s c o p e t h a t 0015260 t h i s f u n c t i o n i n 0015300 f a c t { i t d o e s } 0015320 e v a l u a t e i t s a r g 0015340 u m e n t s , e v e n t h o 0015360 u g h i t i s a n n l a 0015400 m b d a . \r \r } { E n d S u b 0015420 S e c N l a m b d a - S p r e 0015440 a d F u n c t i o n s } \r \r \r 0015460 \r { B e g i n S u b S e c L 0015500 a m b d a - N o s p r e a d F 0015520 u n c t i o n s } \r { T i t l e 0015540 L a m b d a - N o s p r e a d 0015560 F u n c t i o n s } \r { T e x 0015600 t \r \r { i n d e x * P R I M A 0015620 R Y * l a m b d a - n o s p r 0015640 e a d f u n c t i o n s } \r \r 0015660 L a m b d a - n o s p r e a d 0015700 f u n c t i o n s t a k e a 0015720 v a r i a b l e n u m b e r 0015740 o f e v a l u a t e d a r 0015760 g u m e n t s . A l a m b 0016000 d a - n o s p r e a d { l i s 0016020 p E X P R } h a s t h e 0016040 f o r m : \r \r { l i s p c o d e 0016060 ( L A M B D A { a r g V A 0016100 R } { a r g F O R M { s u b 0016120 1 } } { e l l i p s i s } 0016140 { a r g F O R M { s u b N } 0016160 } ) } \r \r { a r g V A R } m 0016200 a y b e a n y l i t a t o 0016220 m , e x c e p t { a t o m 0016240 N I L } a n d { a t o m T 0016260 } . W h e n a l a m b d 0016300 a - n o s p r e a d f u n c t 0016320 i o n i s a p p l i e d t 0016340 o s o m e a r g u m e n t s 0016360 , e a c h o f t h e s e 0016400 a r g u m e n t s i s e v a 0016420 l u a t e d a n d t h e v 0016440 a l u e s s t o r e d o n 0016460 t h e p u s h d o w n l i s 0016500 t . { i n d e x p u s h d o w 0016520 n l i s t } { a r g V A 0016540 R } i s t h e n b o u n d 0016560 t o t h e { i t n u m b 0016600 e r } o f a r g u m e n t s 0016620 w h i c h h a v e b e e n 0016640 e v a l u a t e d . F o r 0016660 e x a m p l e , i f { l i 0016700 s p F O O } i s d e f i n 0016720 e d b y { l i s p ( L A M 0016740 B D A X { e l l i p s i s } 0016760 ) } , w h e n { l i s p ( 0017000 F O O A B C ) } i s e 0017020 v a l u a t e d , { l i s p 0017040 A } , { l i s p B } , a n 0017060 d { l i s p C } a r e e 0017100 v a l u a t e d a n d { l i 0017120 s p X } i s b o u n d t 0017140 o 3 . { a r g V A R } 0017160 s h o u l d { i t n e v e r 0017200 } b e r e s e t . \r \r T h e 0017220 f o l l o w i n g f u n c t 0017240 i o n s a r e u s e d f o 0017260 r a c c e s s i n g t h e 0017300 a r g u m e n t s o f l a m 0017320 b d a - n o s p r e a d f u n 0017340 c t i o n s : \r \r \r { F n D e f 0017360 { F n N a m e A R G } { F 0017400 n A r g s V A R M } \r { T y 0017420 p e N L A M B D A } \r { T e x 0017440 t \r R e t u r n s t h e { a 0017460 r g M } t h a r g u m e n t 0017500 f o r t h e l a m b d a - 0017520 n o s p r e a d f u n c t i o 0017540 n w h o s e a r g u m e n t 0017560 l i s t i s { a r g V A 0017600 R } . { a r g V A R } i 0017620 s t h e { i t n a m e } 0017640 o f t h e a t o m i c a r 0017660 g u m e n t l i s t t o a 0017700 l a m b d a - n o s p r e a d 0017720 f u n c t i o n , a n d i 0017740 s n o t e v a l u a t e d ; 0017760 { a r g M } i s t h e 0020000 n u m b e r o f t h e d e 0020020 s i r e d a r g u m e n t , 0020040 a n d i s e v a l u a t e d 0020060 . T h e v a l u e o f 0020100 { i n d e x A R G F N } { f 0020120 n A R G } i s u n d e f i 0020140 n e d f o r { a r g M } 0020160 l e s s t h a n o r e q u 0020200 a l t o 0 o r g r e a t 0020220 e r t h a n t h e { i t 0020240 v a l u e } o f { a r g V 0020260 A R } . \r \r { n o t e { f n 0020300 A R G } c o m p i l e s o p 0020320 e n i f { a r g V A R } 0020340 i s b o u n d l o c a l l y 0020360 i n t h e f u n c t i o n 0020400 i n w h i c h t h e c a 0020420 l l t o { f n A R G } a 0020440 p p e a r s . O t h e r w i 0020460 s e , { f n A R G } c o m 0020500 p i l e s c l o s e d a n d 0020520 e v a l u a t e s i t s f 0020540 i r s t a r g u m e n t o n 0020560 e a c h c a l l . N o t 0020600 e t h a t t h i s m e a n 0020620 s t h a t t h e v a l u e 0020640 o f { a r g V A R } m u 0020660 s t b e a { l i s p S P 0020700 E C V A R } . < < < a l w a 0020720 y s ? O r j u s t w h e n 0020740 y o u w a n t t o u s e 0020760 i t f r o m a f u n c t 0021000 i o n c a l l e d f r o m 0021020 a l a m b d a - n o s p r e a 0021040 d ? > > > } \r } } \r \r \r { F n D 0021060 e f { F n N a m e S E T A R 0021100 G } { F n A r g s V A R M 0021120 X } \r { T y p e N L A M B D 0021140 A } \r { T e x t \r S e t s t h 0021160 e { a r g M } t h a r g u 0021200 m e n t f o r t h e l a m 0021220 b d a - n o s p r e a d f u n 0021240 c t i o n w h o s e a r g u 0021260 m e n t l i s t i s { a r 0021300 g V A R } t o { a r g X 0021320 } . { a r g V A R } i s 0021340 n o t e v a l u a t e d ; 0021360 { a r g M } a n d { a r g 0021400 X } a r e e v a l u a t e 0021420 d . { a r g M } s h o u 0021440 l d b e b e t w e e n 1 0021460 a n d t h e v a l u e o f 0021500 { a r g V A R } . \r } } \r \r 0021520 \r I n t h e e x a m p l e 0021540 b e l o w , t h e f u n c t 0021560 i o n { l i s p F O O } i 0021600 s d e f i n e d t o p r i 0021620 n t a l l o f t h e e v 0021640 a l u a t e d a r g u m e n t 0021660 s i t i s g i v e n , a 0021700 n d r e t u r n { l i s p 0021720 N I L } ( t h e v a l u e 0021740 o f t h e { l i s p f o r 0021760 } s t a t e m e n t ) . \r \r { 0022000 l i s p c o d e \r _ ( D E F I 0022020 N E Q ( F O O \r 0022040 ( L A M B D A X \r 0022060 0022100 ( f o r A R G N U M f r o m 0022120 1 t o X d o ( P R I N 0022140 T ( A R G X A R G N U M ) 0022160 ) ) ) ) ) \r ( F O O ) \r _ ( 0022200 F O O 9 9 ( P L U S 3 4 0022220 ) ) \r 9 9 \r 7 \r N I L \r _ ( F 0022240 O O 9 9 ( P L U S 3 4 ) 0022260 ( T I M E S 3 4 ) ) \r 9 9 0022300 \r 7 \r 1 2 \r N I L \r _ } \r \r \r \r 0022320 } { E n d S u b S e c L a m 0022340 b d a - N o s p r e a d F u n 0022360 c t i o n s } \r \r \r \r { B e g i 0022400 n S u b S e c N l a m b d a 0022420 - N o s p r e a d F u n c t i 0022440 o n s } \r { T i t l e N l a m 0022460 b d a - N o s p r e a d F u n 0022500 c t i o n s } \r { T e x t \r \r { 0022520 i n d e x * P R I M A R Y * 0022540 n l a m b d a - n o s p r e a d 0022560 f u n c t i o n s } \r \r N l a 0022600 m b d a - n o s p r e a d f u 0022620 n c t i o n s t a k e a v 0022640 a r i a b l e n u m b e r o 0022660 f u n e v a l u a t e d a r 0022700 g u m e n t s . A n n l a 0022720 m b d a - n o s p r e a d { l 0022740 i s p E X P R } h a s t h 0022760 e f o r m : \r \r { l i s p c o 0023000 d e ( N L A M B D A { a r g 0023020 V A R } { a r g F O R M { 0023040 s u b 1 } } { e l l i p s i 0023060 s } { a r g F O R M { s u b 0023100 N } } ) } \r \r { a r g V A R 0023120 } m a y b e a n y l i t 0023140 a t o m , e x c e p t { a t 0023160 o m N I L } a n d { a t o 0023200 m T } . T h o u g h s i 0023220 m i l a r i n f o r m t o 0023240 l a m b d a - n o s p r e a d 0023260 { l i s p E X P R } s , a 0023300 n n l a m b d a - n o s p r e 0023320 a d i s e v a l u a t e d 0023340 q u i t e d i f f e r e n t l 0023360 y . W h e n a n n l a m 0023400 b d a - n o s p r e a d f u n 0023420 c t i o n i s a p p l i e d 0023440 t o s o m e a r g u m e n 0023460 t s , { a r g V A R } i s 0023500 s i m p l y b o u n d t o 0023520 a l i s t o f t h e u 0023540 n e v a l u a t e d a r g u m 0023560 e n t s . T h e u s e r 0023600 m a y p i c k a p a r t t 0023620 h i s l i s t , a n d e v 0023640 a l u a t e d i f f e r e n t 0023660 a r g u m e n t s . \r \r \r I n 0023700 t h e e x a m p l e b e l 0023720 o w , { l i s p F O O } i 0023740 s d e f i n e d t o p r i 0023760 n t ( a n d t h e n r e t 0024000 u r n ) t h e r e v e r s e 0024020 o f l i s t o f a r g u 0024040 m e n t s i t i s g i v e 0024060 n ( u n e v a l u a t e d ) : 0024100 \r \r { l i s p c o d e \r _ ( D 0024120 E F I N E Q ( F O O ( N L A 0024140 M B D A X ( R E V E R S E 0024160 X ) ) ) ) \r ( F O O ) \r _ ( F 0024200 O O 9 9 ( P L U S 3 4 ) 0024220 ) \r ( ( P L U S 3 4 ) 9 9 * 0024260 ) \r _ ( F O O 9 9 ( P L U 0024300 S 3 4 ) ( T I M E S 3 0024320 4 ) ) \r ( ( T I M E S 3 4 ) 0024340 ( P L U S 3 4 ) 9 9 ) \r 0024360 ( ( T I M E S 3 4 ) ( P L 0024400 U S 3 4 ) 9 9 ) \r _ } \r \r 0024420 } { E n d S u b S e c N l a 0024440 m b d a - N o s p r e a d F u 0024460 n c t i o n s } \r \r \r \r \r { B e 0024500 g i n S u b S e c C o m p i 0024520 l e d F u n c t i o n s } \r { 0024540 T i t l e C o m p i l e d F 0024560 u n c t i o n s } \r { T e x t \r 0024600 \r { i n d e x c o m p i l e d 0024620 f u n c t i o n s } \r \r F u n 0024640 c t i o n s d e f i n e d b 0024660 y { l i s p E X P R } s c 0024700 a n b e c o m p i l e d b 0024720 y t h e I n t e r l i s p 0024740 c o m p i l e r ( { P a g e R 0024760 e f T a g C O M P I L E R } 0025000 ) , w h i c h p r o d u c e 0025020 s c o m p i l e d c o d e 0025040 o b j e c t s , w h i c h e 0025060 x e c u t e m o r e q u i c 0025100 k l y t h a n t h e c o r 0025120 r e s p o n d i n g { l i s p 0025140 E X P R } c o d e . F u 0025160 n c t i o n s d e f i n e d 0025200 b y c o m p i l e d c o d e 0025220 o b j e c t s m a y h a v 0025240 e t h e s a m e f o u r 0025260 t y p e s a s { l i s p E 0025300 X P R } s ( l a m b d a / n o 0025320 l a m b d a , s p r e a d / n 0025340 o s p r e a d ) . F u n c t 0025360 i o n s c r e a t e d b y 0025400 t h e c o m p i l e r a r e 0025420 r e f e r r e d t o a s 0025440 c o m p i l e d f u n c t i o 0025460 n s . \r \r } { E n d S u b S e 0025500 c C o m p i l e d F u n c t 0025520 i o n s } \r \r \r \r { B e g i n 0025540 S u b S e c F u n c t i o n 0025560 T y p e F u n c t i o n s } \r 0025600 { T i t l e F u n c t i o n 0025620 T y p e F u n c t i o n s } \r 0025640 { T e x t \r \r T h e r e a r e 0025660 a v a r i e t y o f f u 0025700 n c t i o n s u s e d f o r 0025720 e x a m i n i n g t h e t 0025740 y p e , a r g u m e n t l i 0025760 s t , e t c . o f f u n c 0026000 t i o n s . T h e s e f u 0026020 n c t i o n s m a y b e g 0026040 i v e n e i t h e r a l i 0026060 t a t o m , i n w h i c h 0026100 c a s e t h e y o b t a i n 0026120 t h e f u n c t i o n d e 0026140 f i n i t i o n f r o m t h 0026160 e l i t a t o m ' s d e f i 0026200 n i t i o n c e l l , o r 0026220 a f u n c t i o n d e f i n 0026240 i t i o n i t s e l f . \r \r \r 0026260 \r { F n D e f { F n N a m e 0026300 F N T Y P } { F n A r g s F 0026320 N } \r { T e x t \r R e t u r n s 0026340 { l i s p N I L } i f { 0026360 a r g F N } i s n o t a 0026400 f u n c t i o n d e f i n i 0026420 t i o n o r t h e n a m e 0026440 o f a d e f i n e d f u 0026460 n c t i o n . O t h e r w i 0026500 s e { f n F N T Y P } r e 0026520 t u r n s o n e o f t h e 0026540 f o l l o w i n g t w e l v 0026560 e l i t a t o m s : \r \r { B e 0026600 g i n T a b l e F N T Y P 0026620 r e t u r n s } \r \r { C O L U M 0026640 N 3 0 p e r c e n t } \t { C O 0026660 L U M N } \t { C O L U M N } \t { 0026700 C O L U M N } \r \r { F i r s t } 0026720 \r { N e x t E x p r e s s i 0026740 o n s } \t \t { n e x t C o m p 0026760 i l e d } \t { n e x t B u i l 0027000 t - I n } \r \r { F i r s t L a 0027020 m b d a - S p r e a d } \r { N e 0027040 x t { a t o m E X P R } } \t 0027060 \t { n e x t { a t o m C E X 0027100 P R } } \t { n e x t { a t o m 0027120 S U B R } } \r \r { F i r s t 0027140 N l a m b d a - S p r e a d } \r 0027160 { N e x t { a t o m F E X P 0027200 R } } \t { n e x t { a t o m 0027220 C F E X P R } } \t { n e x t { 0027240 a t o m F S U B R } } \r \r { F 0027260 i r s t L a m b d a - N o s p 0027300 r e a d } \r { N e x t { a t o 0027320 m E X P R * } } \t { n e x t 0027340 { a t o m C E X P R * } } \t { 0027360 n e x t { a t o m S U B R * 0027400 } } \r \r { F i r s t N l a m b 0027420 d a - N o s p r e a d } \r { N e 0027440 x t { a t o m F E X P R * } 0027460 } \t { n e x t { a t o m C F 0027500 E X P R * } } \t { n e x t { a 0027520 t o m F S U B R * } } \r \r { E 0027540 n d T a b l e F N T Y P r 0027560 e t u r n s } \r \r \r { i n d e x 0027600 * P R I M A R Y * E X P R 0027620 L i t a t o m } { i n d e x * 0027640 P R I M A R Y * C E X P R L 0027660 i t a t o m } { i n d e x * P 0027700 R I M A R Y * S U B R L i t 0027720 a t o m } { i n d e x * P R I 0027740 M A R Y * F E X P R L i t a 0027760 t o m } { i n d e x * P R I M 0030000 A R Y * C F E X P R L i t a 0030020 t o m } { i n d e x * P R I M 0030040 A R Y * F S U B R L i t a t 0030060 o m } { i n d e x * P R I M A 0030100 R Y * E X P R * L i t a t o 0030120 m } { i n d e x * P R I M A R 0030140 Y * C E X P R * L i t a t o 0030160 m } { i n d e x * P R I M A R 0030200 Y * S U B R * L i t a t o m 0030220 } { i n d e x * P R I M A R Y 0030240 * F E X P R * L i t a t o m 0030260 } { i n d e x * P R I M A R Y 0030300 * C F E X P R * L i t a t o 0030320 m } { i n d e x * P R I M A R 0030340 Y * F S U B R * L i t a t o 0030360 m } \r \r T h e t y p e s i n 0030400 t h e f i r s t c o l u m 0030420 n a r e a l l d e f i n e 0030440 d b y { l i s p E X P R } 0030460 s . T h e t y p e s i n 0030500 t h e s e c o n d c o l u 0030520 m n a r e c o m p i l e d 0030540 v e r s i o n s o f t h e 0030560 t y p e s i n t h e f i r 0030600 s t c o l u m n , a s i n 0030620 d i c a t e d b y t h e p 0030640 r e f i x { l i s p C } . 0030660 I n I n t e r l i s p - 1 0 , 0030700 t h e r e a r e a d d i t 0030720 i o n a l e n t r i e s f o 0030740 r h a n d - c o d e d a s s 0030760 e m b l y l a n g u a g e r 0031000 o u t i n e s i n t h e t 0031020 h i r d c o l u m n , c a l 0031040 l e d { l i s p S U B R } s 0031060 , ( s e e " I n t e r l i s 0031100 p - 1 0 s p e c i f i c s " ) 0031120 . F u n c t i o n s o f 0031140 t y p e s i n t h e f i r 0031160 s t t w o r o w s h a v e 0031200 a f i x e d n u m b e r 0031220 o f a r g u m e n t s , i . 0031240 e . , a r e s p r e a d f 0031260 u n c t i o n s . F u n c t 0031300 i o n s i n t h e t h i r 0031320 d a n d f o u r t h r o w 0031340 s h a v e a n i n d e f i 0031360 n i t e n u m b e r o f a 0031400 r g u m e n t s , a s i n d 0031420 i c a t e d b y t h e s u 0031440 f f i x { l i s p * } . 0031460 T h e p r e f i x { l i s p 0031500 F } i n d i c a t e s u n 0031520 e v a l u a t e d a r g u m e 0031540 n t s . \r T h u s , f o r e 0031560 x a m p l e , a { l i s p 0031600 C F E X P R * } i s a c o 0031620 m p i l e d n o s p r e a d - 0031640 n l a m b d a f u n c t i o n 0031660 . \r \r { f n F N T Y P } r e 0031700 t u r n s t h e l i t a t o 0031720 m { a t o m F U N A R G } { 0031740 i n d e x F U N A R G L i 0031760 t a t o m } i f { a r g F 0032000 N } i s a { l i s p F U 0032020 N A R G } e x p r e s s i o n 0032040 . S e e { P a g e R e f 0032060 F n F U N C T I O N } . \r } } 0032100 \r \r \r { F n D e f { F n N a m 0032120 e E X P R P } { F n A r g s 0032140 F N } \r { T e x t \r R e t u r 0032160 n s { l i s p T } i f { 0032200 l i s p ( F N T Y P { a r g 0032220 F N } ) } i s e i t h e r 0032240 { l i s p E X P R } , { l 0032260 i s p F E X P R } , { l i s 0032300 p E X P R * } , o r { l i 0032320 s p F E X P R * } , i . e . 0032340 , f i r s t c o l u m n o 0032360 f { f n F N T Y P } s ; { 0032400 l i s p N I L } o t h e r w 0032420 i s e . { i n d e x E X P R 0032440 L i t a t o m } { i n d e x F 0032460 E X P R L i t a t o m } { i n 0032500 d e x E X P R * L i t a t o 0032520 m } { i n d e x F E X P R * 0032540 L i t a t o m } \r H o w e v e r 0032560 , { l i s p ( E X P R P { 0032600 a r g F N } ) } i s a l s 0032620 o t r u e i f { a r g F 0032640 N } i s ( h a s ) a l i 0032660 s t d e f i n i t i o n , e 0032700 v e n i f i t d o e s n 0032720 o t b e g i n w i t h { a 0032740 t o m L A M B D A } o r { 0032760 a t o m N L A M B D A } . 0033000 I n o t h e r w o r d s , 0033020 { f n E X P R P } i s n o 0033040 t q u i t e a s s e l e c 0033060 t i v e a s { f n F N T Y 0033100 P } . \r } } \r \r \r { F n D e f 0033120 { F n N a m e C C O D E P } 0033140 { F n A r g s F N } \r { T e x 0033160 t \r R e t u r n s { l i s p 0033200 T } i f { i n d e x F N T 0033220 Y P F N } { l i s p ( F N T 0033240 Y P { a r g F N } ) } i s 0033260 e i t h e r \r { l i s p C E 0033300 X P R } , { l i s p C F E X 0033320 P R } , { l i s p C E X P R 0033340 * } , o r { l i s p C F E 0033360 X P R * } , i . e . , s e c 0033400 o n d c o l u m n o f { f 0033420 n F N T Y P } s ; { l i s p 0033440 N I L } o t h e r w i s e . 0033460 { i n d e x C E X P R L i t 0033500 a t o m } { i n d e x C F E X 0033520 P R L i t a t o m } { i n d e 0033540 x C E X P R * L i t a t o m 0033560 } { i n d e x C F E X P R * 0033600 L i t a t o m } \r } } \r \r { F n 0033620 D e f { F n N a m e A R G T 0033640 Y P E } { F n A r g s F N } 0033660 \r { T e x t \r { a r g F N } 0033700 i s t h e n a m e o f a 0033720 f u n c t i o n o r i t s 0033740 d e f i n i t i o n . { f 0033760 n A R G T Y P E } r e t u r 0034000 n s 0 , 1 , 2 , o r 3 0034020 , o r { l i s p N I L } 0034040 i f { a r g F N } i s n 0034060 o t a f u n c t i o n . 0034100 T h e i n t e r p r e t a t i 0034120 o n o f t h i s v a l u e 0034140 i s : \r \r { B e g i n L a b 0034160 e l e d L i s t i n t e r p r 0034200 e t a t i o n o f A R G T Y 0034220 P E } \r \r { I N D E N T 1 0 p 0034240 e r c e n t } \r \r { N a m e 0 0034260 } { t e x t l a m b d a - s 0034300 p r e a d f u n c t i o n s 0034320 ( { l i s p E X P R } , { l 0034340 i s p C E X P R } ) { i n d e 0034360 x E X P R L i t a t o m } { 0034400 i n d e x C E X P R L i t a 0034420 t o m } \r } \r \r { N a m e 1 } 0034440 { t e x t n l a m b d a - s 0034460 p r e a d f u n c t i o n s 0034500 ( { l i s p F E X P R } , { 0034520 l i s p C F E X P R } ) \r { i 0034540 n d e x F E X P R L i t a t 0034560 o m } { i n d e x C F E X P R 0034600 L i t a t o m } \r } \r \r { N a 0034620 m e 2 } { t e x t l a m b 0034640 d a - n o s p r e a d f u n c 0034660 t i o n s ( { l i s p E X P 0034700 R * } , { l i s p C E X P R 0034720 * } ) \r { i n d e x E X P R * 0034740 L i t a t o m } { i n d e x 0034760 C E X P R * L i t a t o m } \r 0035000 } \r \r { N a m e 3 } { t e x 0035020 t n l a m b d a - n o s p r e 0035040 a d f u n c t i o n s ( { l 0035060 i s p F E X P R * } , { l i 0035100 s p C F E X P R * } ) \r { i n 0035120 d e x F E X P R * L i t a t 0035140 o m } { i n d e x C F E X P R 0035160 * L i t a t o m } \r } \r \r { E 0035200 n d L a b e l e d L i s t i 0035220 n t e r p r e t a t i o n o f 0035240 A R G T Y P E } \r \r \r i . e . 0035260 , { f n A R G T Y P E } c 0035300 o r r e s p o n d s t o t h 0035320 e { i t r o w s } o f { 0035340 f n F N T Y P } ' s . \r } } \r 0035360 \r \r \r { F n D e f { F n N a m 0035400 e N A R G S } { F n A r g s 0035420 F N } \r { T e x t \r R e t u r 0035440 n s t h e n u m b e r o f 0035460 a r g u m e n t s o f { a 0035500 r g F N } , o r { l i s p 0035520 N I L } i f { a r g F N 0035540 } i s n o t a f u n c t 0035560 i o n . I f { a r g F N 0035600 } i s a n o s p r e a d 0035620 f u n c t i o n , t h e v a 0035640 l u e o f { f n N A R G S 0035660 } i s 1 . \r \r { n o t e w 0035700 h y d o e s n ' t N A R G S 0035720 c h e c k L A M B D A S P L 0035740 S T , t o b e c o n s i s 0035760 t a n t w i t h A R G L I S 0036000 T ? ? } \r \r { B e g i n N o t 0036020 e } \r u n t r u e ! \r \r { f n 0036040 N A R G S } u s e s { f n 0036060 E X P R P } , n o t { f n 0036100 F N T Y P } , s o i t a c 0036120 c e p t s l i s t d e f i n 0036140 i t i o n s e v e n i f t 0036160 h e y d o n ' t b e g i n 0036200 w i t h { a t o m L A M B D 0036220 A } o r { a t o m N L A M 0036240 B D A } . F o r i n s t a 0036260 n c e , { l i s p ( N A R G 0036300 S ' ( A ( B C ) D ) ) 0036320 = > 2 } . \r { E n d N o 0036340 t e } \r } } \r \r \r { F n D e f 0036360 { F n N a m e A R G L I S T } 0036400 { F n A r g s F N } \r { T e 0036420 x t \r R e t u r n s t h e " 0036440 a r g u m e n t l i s t " f 0036460 o r { a r g F N } . N o 0036500 t e t h a t t h e " a r g 0036520 u m e n t l i s t " i s a 0036540 l i t a t o m f o r n o s 0036560 p r e a d f u n c t i o n s . 0036600 S i n c e { l i s p N I 0036620 L } i s a p o s s i b l e 0036640 v a l u e f o r { f n A 0036660 R G L I S T } , a n e r r o 0036700 r i s g e n e r a t e d , 0036720 { l i s p A R G S N O T A 0036740 V A I L A B L E } , { i n d e x 0036760 A R G S N O T A V A I L A 0037000 B L E E r r o r } i f { a 0037020 r g F N } i s n o t a 0037040 f u n c t i o n . \r \r I f { a 0037060 r g F N } i s a c o m p 0037100 i l e d f u n c t i o n , t 0037120 h e a r g u m e n t l i s t 0037140 i s c o n s t r u c t e d , 0037160 i . e . , e a c h c a l l 0037200 t o { f n A R G L I S T } 0037220 r e q u i r e s m a k i n g 0037240 a n e w l i s t . F o 0037260 r { l i s p E X P R } s , 0037300 w h o s e d e f i n i t i o n 0037320 s a r e l i s t s b e g i 0037340 n n i n g w i t h { a t o m 0037360 L A M B D A } o r { a t o 0037400 m N L A M B D A } , \r t h e 0037420 a r g u m e n t l i s t i s 0037440 s i m p l y { f n C A D R 0037460 } o f { f n G E T D } . 0037500 I f { a r g F N } h a s 0037520 a l i s t d e f i n i t i 0037540 o n , a n d { f n C A R } 0037560 o f t h e d e f i n i t i 0037600 o n i s n o t { l i s p 0037620 L A M B D A } o r { l i s p 0037640 N L A M B D A } , { f n A 0037660 R G L I S T } w i l l c h e 0037700 c k t o s e e i f { f n 0037720 C A R } o f t h e d e f 0037740 i n i t i o n i s a m e m 0037760 b e r o f { i n d e x L A 0040000 M B D A S P L S T V a r } { v 0040020 a r L A M B D A S P L S T } 0040040 ( { P a g e R e f V a r L A 0040060 M B D A S P L S T } ) . I f 0040100 i t i s , { f n A R G L 0040120 I S T } p r e s u m e s t h 0040140 i s i s a f u n c t i o n 0040160 o b j e c t t h e u s e r 0040200 i s d e f i n i n g v i a 0040220 { v a r D W I M U S E R F O 0040240 R M S } ( { P a g e R e f V 0040260 a r D W I M U S E R F O R M S 0040300 } ) , a n d s i m p l y r 0040320 e t u r n s { f n C A D R } 0040340 o f t h e d e f i n i t i 0040360 o n a s i t s a r g u m e 0040400 n t l i s t . O t h e r w 0040420 i s e { f n A R G L I S T } 0040440 g e n e r a t e s a n e r 0040460 r o r a s d e s c r i b e d 0040500 a b o v e . \r } } \r \r { B e g 0040520 i n N o t e } \r D a t e : 1 0040540 1 A U G 1 9 8 1 2 2 3 3 - 0040560 P D T \r F r o m : M A S I N T 0040600 E R . P A \r S u b j e c t : A 0040620 R G L I S T o f f u n c t i 0040640 o n s w i t h ( L O C A L V 0040660 A R S . T ) \r \r T h e w a 0040700 y t h e s y s t e m w o r 0040720 k s n o w i s " r i g h t 0040740 " i n t h a t A R G L I S 0040760 T r e t u r n s t h e n a 0041000 m e s a s g i v e n i n 0041020 t h e o r i g i n a l f u n 0041040 c t i o n e v e n t h o u g 0041060 h t h e n a m e s d o n ' 0041100 t a p p e a r o n t h e 0041120 " s t a c k " a n d a r e n 0041140 ' t r e a l l y b o u n d , 0041160 t h e i d e a i s t h a 0041200 t A R G L I S T i s a l 0041220 i t t l e b i t o f d o c 0041240 u m e n t a t i o n . \r { E n d 0041260 N o t e } \r \r \r \r { F n D e f 0041300 { F n N a m e S M A R T A R 0041320 G L I S T } { F n A r g s F 0041340 N E X P L A I N F L G T A I 0041360 L } \r { T e x t \r A " s m a r 0041400 t " v e r s i o n o f { f 0041420 n A R G L I S T } t h a t 0041440 t r i e s v a r i o u s s t 0041460 r a t e g i e s t o g e t 0041500 t h e a r g l i s t o f { 0041520 a r g F N } . { f n S M A 0041540 R T A R G L I S T } i s u s 0041560 e d b y { f n B R E A K } 0041600 ( { P a g e R e f F n B R 0041620 E A K } ) a n d { f n A D 0041640 V I S E } ( { P a g e R e f 0041660 F n A D V I S E } ) w i t h 0041700 { a r g E X P L A I N F L G 0041720 } = { l i s p N I L } f o r 0041740 c o n s t r u c t i n g e q 0041760 u i v a l e n t { l i s p E 0042000 X P R } d e f i n i t i o n s 0042020 , a n d b y t h e p r o 0042040 g r a m m e r ' s a s s i s t 0042060 a n t c o m m a n d { P A c 0042100 o m ? = } ( { P a g e R e f 0042120 P A c o m ? = } ) , w i t 0042140 h { a r g E X P L A I N F L 0042160 G } = { l i s p T } . \r \r I n 0042200 o r d e r t o p r o v i d 0042220 e t h e u s e r w i t h 0042240 a n o v e r r i d e , { f n 0042260 S M A R T A R G L I S T } f 0042300 i r s t c h e c k s t h e 0042320 p r o p e r t y l i s t o f 0042340 { a r g F N } u n d e r 0042360 t h e p r o p e r t y { l i 0042400 s p A R G N A M E S } { i n d 0042420 e x A R G N A M E S P r o p 0042440 } . F o r s p r e a d f 0042460 u n c t i o n s , t h e a r 0042500 g u m e n t l i s t i t s e 0042520 l f i s s t o r e d . F 0042540 o r n o s p r e a d , t h e 0042560 f o r m i s { l i s p ( 0042600 N I L { a r g A R G L I S T 0042620 { s u b 1 } } . { a r g 0042640 A R G L I S T { s u b 2 } } ) 0042660 } w h e r e { a r g A R G 0042700 L I S T { s u b 1 } } i s 0042720 t h e v a l u e o f { f n 0042740 S M A R T A R G L I S T } w 0042760 h e n { a r g E X P L A I N 0043000 F L G } = { l i s p T } , a 0043020 n d { a r g A R G L I S T { 0043040 s u b 2 } } t h e v a l u 0043060 e w h e n { a r g E X P L 0043100 A I N F L G } = { l i s p N I 0043120 L } . F o r e x a m p l e 0043140 , { l i s p ( G E T P R O P 0043160 ' D E F I N E Q ' A R G N A 0043200 M E S ) } = { l i s p ( N 0043220 I L ( X 1 X I . . . X N 0043240 ) . X ) } . \r } } \r \r \r S e 0043260 c o n d l y , i f { a r g 0043300 F N } i s n o t d e f i n 0043320 e d a s a f u n c t i o n 0043340 , { f n S M A R T A R G L I 0043360 S T } a t t e m p t s s p e 0043400 l l i n g c o r r e c t i o n 0043420 o n { a r g F N } b y 0043440 c a l l i n g { f n F N C H 0043460 E C K } { i n d e x F N C H E 0043500 C K F N } ( { P a g e R e f 0043520 F n F N C H E C K } ) , p 0043540 a s s i n g { a r g T A I L 0043560 } t o b e u s e d f o r 0043600 t h e c a l l t o { f n 0043620 F I X S P E L L } . I f 0043640 u n s u c c e s s f u l , a n 0043660 e r r o r w i l l b e g 0043700 e n e r a t e d , { l i s p 0043720 { a r g F N } N O T A F 0043740 U N C T I O N } . { i n d e x 0043760 N O T A F U N C T I O N E 0044000 r r o r } \r \r I f { a r g F 0044020 N } i s k n o w n t o t 0044040 h e f i l e p a c k a g e 0044060 ( { P a g e R e f T a g F i 0044100 l e P k g } ) b u t n o t 0044120 l o a d e d i n , { f n S 0044140 M A R T A R G L I S T } w i l 0044160 l o b t a i n t h e a r g 0044200 l i s t i n f o r m a t i o n 0044220 f r o m t h e f i l e . \r 0044240 \r F o r a l l o t h e r c 0044260 a s e s , { f n S M A R T A 0044300 R G L I S T } s i m p l y r 0044320 e t u r n s { l i s p ( A R 0044340 G L I S T { a r g F N } ) } 0044360 . \r } { E n d S u b S e c F 0044400 u n c t i o n T y p e F u n 0044420 c t i o n s } \r \r \r { i n d e x 0044440 * E N D * f u n c t i o n 0044460 t y p e s } \r \r \r } { E n d S 0044500 u b S e c F u n c t i o n T 0044520 y p e s } \r \r \r \0 \0 I X \0 \0 \0 005 0044540 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0044560 \0 I X \0 001 z 270 0044567