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