$ od -c -N 50000 [eris]<LispCore>SOURCES>DEFSTRUCT-RUN-TIME!5
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 " L I S
0000060 P " ) \r 006 001 ( i l : f i l e c r
0000100 e a t e d " 2 4 - O c t - 8 6
0000120 1 5 : 4 6 : 3 2 " 006 004 i l :
0000140 { e r i s } < n u y e n s > z e
0000160 b r a > d e f s t r u c t - r u
0000200 n - t i m e . \ ; 2 1 006 001 9 6
0000220 4 4 \r \r i l :
0000240 | c h a n g e s | i l : | t o
0000260 : | ( i l : f u n c t i o n
0000300 s p a r s e d - s t r u c t u
0000320 r e s e t - p a r s e d - s t
0000340 r u c t u r e \r
0000360
0000400 s i :
0000420 : % s t r u c t u r e - d e c l
0000440 a r e - d a t a t y p e i l :
0000460 c r e a t e - s t r u c t u r e
0000500 \r
0000520
0000540 c r e a t e - s t r
0000560 u c t u r e s t r u c t u r e
0000600 - c o n s t r u c t o r ) \r
0000620
0000640 ( i l : v
0000660 a r s i l : d e f s t r u c t
0000700 - r u n - t i m e c o m s ) \r
0000720
0000740 ( i l :
0000760 f n s i l : \ \ d e f p r i n
0001000 t . d e f s t r u c t . d e f a
0001020 u l t ) \r \r i l : |
0001040 p r e v i o u s | i l : | d a
0001060 t e : | " 2 2 - O c t - 8 6
0001100 1 3 : 1 1 : 5 9 " i l : { e r
0001120 i s } < n u y e n s > z e b r a
0001140 > d e f s t r u c t - r u n - t
0001160 i m e . \ ; 1 7 ) \r \r \r ; C o
0001200 p y r i g h t ( c ) 1 9 8 6
0001220 b y X e r o x C o r p o r
0001240 a t i o n . A l l r i g h
0001260 t s r e s e r v e d . \r \r ( i
0001300 l : p r e t t y c o m p r i n t
0001320 i l : d e f s t r u c t - r u
0001340 n - t i m e c o m s ) \r \r ( i l
0001360 : r p a q q 006 002 i l : d e f s
0001400 t r u c t - r u n - t i m e c o
0001420 m s 006 001 ( ( i l : f u n c t i
0001440 o n s s i : : % s t r u c t u
0001460 r e - d e c l a r e - d a t a t
0001500 y p e ) \r
0001520
0001540 ( i l : v a
0001560 r i a b l e s * p a r s e d -
0001600 s t r u c t u r e s * ) \r
0001620
*
0001660 ( i l : f u n c t i o n s
0001700 s e t - p a r s e d - s t r u c
0001720 t u r e p a r s e d - s t r u
0001740 c t u r e \r
0001760
*
0002020 s t r u c t u r e - s l o
0002040 t - n a m e s d e f a u l t -
0002060 s t r u c t u r e - p r i n t e
0002100 r \r
0002120
0002140 i
0002160 l : c r e a t e - s t r u c t u
0002200 r e s t r u c t u r e - c o n
0002220 s t r u c t o r ) \r
0002240
0002260 (
0002300 i l : s e t f s p a r s e d -
0002320 s t r u c t u r e ) \r
0002340
*
0002400 ( i l : * i l : | ; ; | \r
0002420
0002440 " U
0002460 S E S S T R U C T U R E - S L
0002500 O T - N A M E S b u t f o r
0002520 n o w s u p p o r t s l o
0002540 o k i n g o n t h e p l i
0002560 s t . " \r
0002600
*
0002640 ) \r
0002660
0002700 ( i l : f u n c t
0002720 i o n s i l : s l o t - l i s
0002740 t ) \r
0002760
0003000 ( i l : f n s
0003020 i l : \ \ d e f p r i n t . d e
0003040 f s t r u c t . d e f a u l t )
0003060 \r
0003100
0003120 ( i l : p r o p i
0003140 l : f i l e t y p e i l : d e
0003160 f s t r u c t - r u n - t i m e
0003200 ) \r
0003220
0003240 ( i l : p r o p
0003260 i l : m a k e f i l e - e n v i
0003300 r o n m e n t i l : d e f s t
0003320 r u c t - r u n - t i m e ) \r
0003340
*
0003400 ( i l : d e c l a r e \
0003420 : i l : d o n t e v a l @ l o
0003440 a d i l : d o e v a l @ c o m
0003460 p i l e i l : d o n t c o p y
0003500 \r
0003520
0003540 i l
0003560 : c o m p i l e r v a r s ( i
0003600 l : a d d v a r s ( i l : n l
0003620 a m a ) \r
0003640
*
0003720 ( i l : n l a m
0003740 l ) \r
0003760
*
0004040 ( i l : l a m a ) )
0004060 ) ) ) \r ( d e f u n 006 002 s i :
0004100 : % s t r u c t u r e - d e c l
0004120 a r e - d a t a t y p e 006 001 (
0004140 n a m e f i e l d - s p e c i
0004160 f i c a t i o n s f i e l d -
0004200 d e s c r i p t o r s w o r d
0004220 - l e n g t h \r
0004240
*
0004300 s u p e r t y p e )
0004320 " a n a l a g o u s t o d
0004340 e c l a r e - d a t a t y p e ,
0004360 b u t d o e s n o t p r
0004400 e p e n d t h e s u p e r s
0004420 d e s c r i p t o r s . Y o
0004440 u m u s t i n c l u d e a
0004460 l l d e s c s . " \r 006 006
0004500 006 001
0004520
*
0004560 006 006 ( i l : * i l : | ; ; ;
0004600 | \r 006 001
0004620
0004640 006 006 " N . B . d e s c
0004660 r i p t i o n s a n d s p e
0004700 c s a r e f o r A L L s
0004720 l o t s , n o t j u s t l
0004740 o c a l - s l o t s . " ) 006 001 006
0004760 006 006 001 \r
0005000
*
0005040 006 006 ( i l : * i l
0005060 : | ; ; | " f i e l d - s p e
0005100 c i f i c a t i o n s i s a
0005120 l i s t o f t h e f o r
0005140 m ' ( p o i n t e r p o i n
0005160 t e r ( b i t s 3 ) ( b i
0005200 t s 5 ) w o r d f i x p )
0005220 . S e e p . 8 . 2 1 I
0005240 R M " ) 006 001 006 006 006 001 \r
0005260
*
0005320 006 006 (
0005340 i l : * i l : | ; ; | " f i
0005360 e l d - d e s c r i p t o r s
0005400 i s t h e l i s t r e t u
0005420 r n e d f r o m t r a n s l
0005440 a t e . d a t a t y p e w h e
0005460 n g i v e n t h e a b o v
0005500 e F I E L D - S P E C I F I C
0005520 A T I O N S . T h e y a r
0005540 e l e g a l t o p a s s
0005560 t o f e t c h f i e l d . " )
0005600 006 001 006 006 006 001 \r
0005620
*
0005660 006 006 ( i l : *
0005700 i l : | ; ; | \r 006 001
0005720
*
0005760 006 006 " w o r d - l e n g
0006000 t h i s t h e c a r o f
0006020 t h e r e s u l t o f t
0006040 r a n s l a t e . d a t a t y p
0006060 e . " ) 006 001 006 006 006 001 \r
0006100
*
0006140 006 006 (
0006160 i l : * i l : | ; ; | \r 006 001
0006200
*
0006260 006 006 " s u p e r t y p e i
0006300 s t h e t y p e n a m e o
0006320 f t h e s u p e r t y p e .
0006340 " ) 006 001 \r ( c h e c k - t
0006360 y p e n a m e s y m b o l )
0006400 \r ( c h e c k - t y p e
0006420 w o r d - l e n g t h i n t e
0006440 g e r ) \r ( l e t ( ( r
0006460 e f e r e n c e - c o u n t e d
0006500 - p o i n t e r s ( m a p c a
0006520 n # ' ( l a m b d a ( d e s
0006540 c r i p t o r ) \r
0006560
*
0006620 (
0006640 c a s e ( c a d d r d e s c
0006660 r i p t o r ) \r
0006700
*
0006760 ( ( i l : p o i n t e r
0007000 i l : f u l l p o i n t e r )
0007020 \r
0007040
*
0007100 ( l
0007120 i s t ( c a d r d e s c r i
0007140 p t o r ) ) ) ) ) \r
0007160
*
0007220 f i e l d - d e s
0007240 c r i p t o r s ) ) ) \r
0007260 ( m u l t i p l e - v a
0007300 l u e - b i n d ( t y p e - n
0007320 u m b e r r e d e c l a r e d
0007340 ? ) \r
0007360 ( i l : \ \ a s s i g n d a
0007400 t a t y p e 1 n a m e f i e
0007420 l d - d e s c r i p t o r s w
0007440 o r d - l e n g t h f i e l d
0007460 - s p e c i f i c a t i o n s
0007500 \r
0007520 r e f e r e n c e
0007540 - c o u n t e d - p o i n t e r
0007560 s s u p e r t y p e ) \r
0007600 ( i l :
0007620 s e t t o p v a l ( i l : \ \
0007640 t y p e g l o b a l v a r i a b
0007660 l e n a m e t ) \r
0007700
0007720 t y p e - n u m b e r ) \r
0007740 ( v a
0007760 l u e s f i e l d - d e s c r
0010000 i p t o r s r e d e c l a r e
0010020 d ? ) ) ) ) \r \r ( d e f v a r
0010040 006 002 * p a r s e d - s t r u c t
0010060 u r e s * 006 001 ' ( n i l ) "
0010100 a l l d e c l a r e d s t r
0010120 u c t u r e s " ) \r \r ( d e f
0010140 u n 006 002 s e t - p a r s e d -
0010160 s t r u c t u r e 006 001 ( n a m
0010200 e p s ) ( l e t ( ( o l d
0010220 ( p a r s e d - s t r u c t u
0010240 r e n a m e t ) ) ) \r
0010260
*
0010320 ( i f o l d
0010340 ( r p l a c d ( i l : a s s o
0010360 c n a m e * p a r s e d - s
0010400 t r u c t u r e s * ) \r
0010420
*
0010500 p s ) \r
0010520
*
0010560 ( s e t q *
0010600 p a r s e d - s t r u c t u r e
0010620 s * ( p u s h ( c o n s n
0010640 a m e p s ) \r
0010660
*
0010760 * p a r s e d - s
0011000 t r u c t u r e s * ) ) ) \r
0011020
*
0011060 ) ) \r \r ( d e
0011100 f m a c r o 006 002 p a r s e d -
0011120 s t r u c t u r e 006 001 ( n a m
0011140 e & o p t i o n a l ( n o -
0011160 e r r o r n i l ) ) \r
0011200
*
0011240 " r
0011260 e t u r n s t h e p a r s e
0011300 d - s t r u c t u r e c o r r
0011320 e s p o n d i n g t o n a m
0011340 e " \r ( c o n d \r
0011360 ( n o - e r r o r ` ( c d
0011400 r ( i l : a s s o c , n a m
0011420 e * p a r s e d - s t r u c t
0011440 u r e s * ) ) ) \r (
0011460 t ` ( o r ( c d r ( i l :
0011500 a s s o c , n a m e * p a r
0011520 s e d - s t r u c t u r e s * )
0011540 ) \r
0011560 ( e r r o r " ~ s i s n o
0011600 t a d e f i n e d s t r u
0011620 c t u r e " , n a m e ) ) ) )
0011640 ) \r \r ( d e f u n 006 002 s t r u
0011660 c t u r e - s l o t - n a m e s
0011700 006 001 ( s t r u c t u r e - n a
0011720 m e & o p t i o n a l ( d o
0011740 n t - c o p y n i l ) ) ( l
0011760 e t * ( ( p s ( p a r s e d
0012000 - s t r u c t u r e \r
0012020
*
0012120 s t
0012140 r u c t u r e - n a m e ) ) \r
0012160
*
0012260 n a m
0012300 e s ) \r
0012320
*
0012420 ( i f ( n o t p s ) \r
0012440
*
0012540 (
0012560 e r r o r \r
0012600
*
0012660 " ~ S i
0012700 s n o t a d e c l a r e d
0012720 s t r u c t u r e . " \r
0012740
*
0013060 s t r u c t u r e - n
0013100 a m e \r
0013120
*
0013220 ) ) \r
0013240
*
0013340 ( s e t
0013360 q n a m e s ( \r
0013400
*
0013500 p s
0013520 - a l l - s l o t - n a m e s \r
0013540
*
0013660 p s ) ) \r
0013700
*
0014000 ( i f
0014020 d o n t - c o p y n a m e s \r
0014040
*
0014160 ( c o p y - l i s t n a m e
0014200 s ) ) ) ) \r \r ( d e f u n 006 002
0014220 d e f a u l t - s t r u c t u r
0014240 e - p r i n t e r 006 001 ( i l :
0014260 s t r u c t u r e s t r e a m
0014300 i l : p r i n t - d e p t h )
0014320 ( 006 002 d e c l a r e 006 001 ( i
0014340 g n o r e i l : p r i n t - d
0014360 e p t h \r
0014400
*
0014500 ) ) \r
0014520
*
0014620 ( \r
0014640
*
0014720 i l : \
0014740 \ d e f p r i n t . d e f s t r
0014760 u c t . d e f a u l t \r
0015000
*
0015100 i l : s t r u c t u r e
0015120 s t r e a m ) ) \r \r ( d e f u n
0015140 006 002 i l : c r e a t e - s t r
0015160 u c t u r e 006 001 ( s t r u c t
0015200 u r e - f o r m ) ( a p p l y
0015220 ( s t r u c t u r e - c o n s
0015240 t r u c t o r ( c a r s t r
0015260 u c t u r e - f o r m ) ) \r
0015300
*
0015360 ( 006 002 i l : f o r 006 001 t a i
0015400 l 006 002 i l : o n 006 001 ( c d r
0015420 s t r u c t u r e - f o r m )
0015440 \r
0015460
*
0015520 006 002 i l : b y 006 001
0015540 ( c d d r t a i l ) \r
0015560
*
0015640 006 002 i l : j o i n 006 001 (
0015660 l i s t ( i l : m a k e - k e
0015700 y w o r d ( c a r t a i l )
0015720 ) \r
0015740
*
0016020 ( c a d r t a i l
0016040 ) ) ) ) ) \r \r ( d e f u n 006 002
0016060 s t r u c t u r e - c o n s t r
0016100 u c t o r 006 001 ( s t r u c t u
0016120 r e - n a m e ) ( o r ( g e
0016140 t s t r u c t u r e - n a m e
0016160 ' i l : s t r u c t u r e - c
0016200 o n s t r u c t o r ) \r
0016220
*
0016260 ( l
0016300 e t * ( ( p s ( p a r s e d
0016320 - s t r u c t u r e s t r u c
0016340 t u r e - n a m e ) ) \r
0016360
*
0016440 ( c o n s t r u c t o
0016460 r ( p s - s t a n d a r d - c
0016500 o n s t r u c t o r p s ) ) )
0016520 \r
0016540
*
0016600 ( o r c o n
0016620 s t r u c t o r ( e r r o r
0016640 \r
0016660
*
0016720 " ~ S i s a s t
0016740 r u c t u r e w i t h n o
0016760 s t a n d a r d c o n s t r u
0017000 c t o r . " \r
0017020
*
0017120 ( p s - n a m e p
0017140 s ) ) ) ) ) ) \r \r ( d e f s e t
0017160 f 006 002 p a r s e d - s t r u c
0017200 t u r e 006 001 s e t - p a r s e
0017220 d - s t r u c t u r e ) \r \r \r \r
0017240 \r 006 004 ( i l : * i l : | ; ; |
0017260 " U S E S S T R U C T U R E
0017300 - S L O T - N A M E S b u t
0017320 f o r n o w s u p p o r t s
0017340 l o o k i n g o n t h e
0017360 p l i s t . " ) 006 001 \r \r ( d e f
0017400 u n 006 002 i l : s l o t - l i s
0017420 t 006 001 ( n a m e ) ( o r (
0017440 i l : c o p y ( g e t n a m
0017460 e ' i l : % s l o t - d e s c
0017500 r i p t i o n s ) ) \r
0017520
0017540 ( s t r u c
0017560 t u r e - s l o t - n a m e s
0017600 n a m e ) ) ) \r \r ( i l : d e f
0017620 i n e q \r \r ( 006 004 i l : \ \ d e
0017640 f p r i n t . d e f s t r u c t
0017660 . d e f a u l t 006 001 \r ( i l
0017700 : l a m b d a ( i l : s t r u
0017720 c s t r e a m ) 006 006 006 001
0017740
0017760 006 006 ( i
0020000 l : * i l : | g b n | " 2 2
0020020 - O c t - 8 6 2 1 : 5 0 " ) 006
0020040 001 \r ( l e t ( ( t y p
0020060 e ( i l : t y p e n a m e i
0020100 l : s t r u c ) ) ) \r
0020120 ( i l : \ \ o u t c h a
0020140 r s t r e a m ( 006 002 i l : |
0020160 f e t c h | 006 001 ( r e a d t a
0020200 b l e p i l : h a s h m a c r
0020220 o c h a r ) 006 002 i l : | o f |
0020240 006 001 * r e a d t a b l e * ) )
0020260 \r ( i l : p r
0020300 i n 3 " S ( " s t r e a m )
0020320 \r ( i l : p r
0020340 i n 2 t y p e s t r e a m )
0020360 \r ( l e t (
0020400 ( * p r i n t - l e v e l * (
0020420 a n d * p r i n t - l e v e l
0020440 * ( i l : s u b 1 * p r i n
0020460 t - l e v e l * ) ) ) ) \r
0020500 ( 006 002 d e
0020520 c l a r e 006 001 ( i l : s p e c
0020540 v a r s * p r i n t - l e v e
0020560 l * ) ) \r
0020600 ( 006 002 i l : | f o r | 006 001
0020620 i l : f i e l d 006 002 i l : |
0020640 i n | 006 001 ( i l : s l o t - l
0020660 i s t t y p e ) 006 002 i l : |
0020700 a s | 006 001 i l : d e s c r i p
0020720 t o r \r
0020740 006 002 i l : | i n | 006 001
0020760 ( i l : g e t d e s c r i p t
0021000 o r s t y p e ) 006 002 i l : |
0021020 d o | 006 001 ( i l : p r i n 1
0021040 " " s t r e a m ) \r
0021060
*
0021140 ( i l : p r i n 2 i l
0021160 : f i e l d s t r e a m ) \r
0021200
*
0021260 ( i l : p r i n 1
0021300 " " s t r e a m ) \r
0021320
*
0021400 ( i l : p r i n 2 (
0021420 i l : f e t c h f i e l d i l
0021440 : d e s c r i p t o r \r
0021460
*
0021560 i l : s t r u c ) \r
0021600
*
0021660 s
0021700 t r e a m ) ) ) \r
0021720 ( i l : p r i n 1 " ) "
0021740 s t r e a m ) \r
0021760 t ) ) ) \r ) \r \r ( i l : p u t
0022000 p r o p s 006 002 i l : d e f s t
0022020 r u c t - r u n - t i m e i l
0022040 : f i l e t y p e 006 001 c o m p
0022060 i l e - f i l e ) \r \r ( i l : p
0022100 u t p r o p s 006 002 i l : d e f
0022120 s t r u c t - r u n - t i m e
0022140 i l : m a k e f i l e - e n v i
0022160 r o n m e n t 006 001 ( : r e a d
0022200 t a b l e " X C L " : p a c
0022220 k a g e " L I S P " ) ) \r ( i
0022240 l : d e c l a r e \ : i l : d
0022260 o n t e v a l @ l o a d i l :
0022300 d o e v a l @ c o m p i l e i
0022320 l : d o n t c o p y i l : c o
0022340 m p i l e r v a r s \r \r ( i l
0022360 : a d d t o v a r 006 002 i l : n
0022400 l a m a 006 001 ) \r \r ( i l : a d
0022420 d t o v a r 006 002 i l : n l a m
0022440 l 006 001 ) \r \r ( i l : a d d t o
0022460 v a r 006 002 i l : l a m a 006 001
0022500 ) \r ) \r ( i l : p u t p r o p s
0022520 i l : d e f s t r u c t - r u
0022540 n - t i m e i l : c o p y r i
0022560 g h t ( " X e r o x C o r p
0022600 o r a t i o n " 1 9 8 6 ) ) \r
0022620 ( i l : d e c l a r e \ : i l
0022640 : d o n t c o p y \r ( i l :
0022660 f i l e m a p ( n i l ( 8 0
0022700 7 3 9 2 0 7 ( i l : \ \ d e
0022720 f p r i n t . d e f s t r u c t
0022740 . d e f a u l t 8 0 8 6 .
0022760 9 2 0 5 ) ) ) ) ) \r i l : s t o
0023000 p \r
0023002