$ od -c -N 50000 [_CD6_]<franchi>CENTAUR>lelisp>v15.22>llub>alcyone.ll 0000000 ; . E n T e t e " L e - L i 0000020 s p ( c ) v e r s i o n 1 0000040 5 . 2 " " " " A l c y o n 0000060 e " \n ; . E n P i e d " a l 0000100 c y o n e . l l " " % " " 0000120 " \n ; . S u p e r T i t r e 0000140 " A l c y o n e " \n ; \n ; . A 0000160 u t e u r " J e a n M a r i 0000200 e H u l l o t " \n ; \n ; . C 0000220 e n t r e " * * * * * * * * * 0000240 * * * * * * * * * * * * * * * * * 0000320 * * * * * * * * " \n ; . C e n 0000340 t r e " ( c ) L e - L i s 0000360 p e s t u n e m a r q u e 0000400 d e ' p o s e ' e d e l ' 0000420 I N R I A 0000440 " \n ; . C e n t r 0000460 e " * * * * * * * * * * * * * 0000500 * * * * * * * * * * * * * * * * * 0000560 * * * * " \n ; \n ; . C e n t r 0000600 e " $ H e a d e r : a l c y 0000620 o n e . l l , v 4 . 1 8 8 / 0000640 0 1 / 1 3 1 2 : 3 4 : 4 0 k 0000660 u c z y n s k R e l $ " \n \n 0000700 ; m i s e a u n i v e a u 0000720 d e s v e c t e u r s t y 0000740 p e ' s p a r J E R e t 0000760 M A T l e 2 0 / 1 / 8 6 \n \n 0001000 ( u n l e s s ( > = ( v e r 0001020 s i o n ) 1 5 . 2 ) \n 0001040 ( e r r o r ' l o a d 0001060 ' e r r i c f ' a l c y o n 0001100 e ) ) \n \n ; T o u s l e s 0001120 s y m b o l e s p r e ' c e ' 0001140 d e ' s d e : s e r o n t 0001160 c r e ' e ' s d a n s l e 0001200 p a c k a g e A L C Y O N E 0001220 \n \n ( d e f v a r # : s y s - 0001240 p a c k a g e : c o l o n ' a 0001260 l c y o n e ) \n \n ; . S e c t 0001300 i o n " L e s S t r u c t u 0001320 r e s " \n \n ; . S S e c t i o 0001340 n " L a f o n c t i o n d 0001360 e c r e ' a t i o n " \n \n ( d 0001400 e : S t r u c t ( n a m e 0001420 i n i t l f i e l d ) \n 0001440 ( t y p e v e c t o r ( v e 0001460 c t o r n a m e i n i t l 0001500 f i e l d ) ' : S t r u c t ) 0001520 ) \n \n ; . S S e c t i o n " 0001540 L e s f o n c t i o n s d ' 0001560 a c c e ` s " \n \n ( d e f m a c 0001600 r o : S t r u c t : n a m e 0001620 ( s t r u c t . v a l ) \n 0001640 ( i f n v a l \n 0001660 ` ( v r e f , s t r 0001700 u c t 0 ) \n 0001720 ` ( v s e t , s t r u c t 0 0001740 , ( c a r v a l ) ) ) ) \n \n 0001760 ( d e f m a c r o : S t r u c 0002000 t : i n i t ( s t r u c t . 0002020 v a l ) \n ( i f n v 0002040 a l \n ` ( v r 0002060 e f , s t r u c t 1 ) \n 0002100 ` ( v s e t , s 0002120 t r u c t 1 , ( c a r v a 0002140 l ) ) ) ) \n \n ( d e f m a c r o 0002160 : S t r u c t : l f i e l d 0002200 ( s t r u c t . v a l ) \n 0002220 ( i f n v a l \n 0002240 ` ( v r e f , s t r 0002260 u c t 2 ) \n 0002300 ` ( v s e t , s t r u c t 2 0002320 , ( c a r v a l ) ) ) ) \n 0002340 \n ; . S S e c t i o n " L a 0002360 f o n c t i o n d e d e ' 0002400 f i n i t i o n d e s t r u 0002420 c t u r e " \n \n ( d e f m a c r 0002440 o d e f s t r u c t ( n a m 0002460 e . l f i e l d ) \n 0002500 ; p o s e d e l a v a l 0002520 e u r i n i t i a l e ( ) 0002540 p a r d 216 f a u t \n ( 0002560 s e t q l f i e l d \n 0002600 ( m a p c a r ( l 0002620 a m b d a ( x ) \n 0002640 0002660 ( i f ( s y m b o l p 0002700 x ) ( l i s t x ) \n 0002720 0002740 ( l i s t 0002760 ( c a r x ) ( e v a l ( 0003000 c a d r x ) ) ) ) ) \n 0003020 l f 0003040 i e l d ) ) \n ( l e t 0003060 ( ( s t r u c t ( : S t r u c 0003100 t n a m e ( ) l f i e l d 0003120 ) ) \n ( e x 0003140 p a n s i o n ) \n 0003160 ( i n d e x 0 ) ) \n 0003200 ; c o n s t r u 0003220 c t i o n d e l a l i s t 0003240 e c o m p l e ` t e d e s 0003260 c h a m p s e n a l l a n t 0003300 \n ; i n s p 0003320 e c t e r l e s p e ` r e s 0003340 . \n ( l e t 0003360 ( ( n a m e 1 n a m e ) \n 0003400 ( l f 0003420 i e l d l f i e l d ) ) \n 0003440 ( u n t 0003460 i l ( o r ( e q ( p a c k 0003500 a g e c e l l n a m e 1 ) ' 0003520 | | ) \n 0003540 ( n u 0003560 l l ( o b j v a l ( p a c k 0003600 a g e c e l l n a m e 1 ) ) ) 0003620 ) \n 0003640 ( s e t q n a m 0003660 e 1 ( p a c k a g e c e l l 0003700 n a m e 1 ) ) \n 0003720 ( i n 0003740 c r i n d e x \n 0003760 0004000 ( l e n g t h ( : S 0004020 t r u c t : l f i e l d ( o b 0004040 j v a l n a m e 1 ) ) ) ) \n 0004060 0004100 ( s e t q l f i e l d 0004120 \n 0004140 ( a p 0004160 p e n d ( : S t r u c t : l f 0004200 i e l d ( o b j v a l n a m 0004220 e 1 ) ) \n 0004240 0004260 l f i e l d ) ) 0004300 ) \n ; m i s e 0004320 e n p l a c e d e l a 0004340 v a l e u r i n i t i a l e \n 0004360 ( : 0004400 S t r u c t : i n i t s t r u 0004420 c t \n 0004440 ( t y p e v e c t o r 0004460 ( a p p l y ' v e c t o r 0004500 ( m a p c a r ' c a d r l f 0004520 i e l d ) ) \n 0004540 0004560 n a m e ) ) ) \n 0004600 ; e x p a n s i o n 0004620 d e l a m i s e e n p 0004640 l a c e s u r l ' o b j v a 0004660 l \n ( n e w l 0004700 e x p a n s i o n ` ( o b j v 0004720 a l ' , n a m e ' , s t r u 0004740 c t ) ) \n ; e 0004760 x p a n s i o n d e s f o n 0005000 c t i o n s d ' a c c e ` s \n 0005020 ( w h i l e l 0005040 f i e l d \n 0005060 ( n e w l e x p a n 0005100 s i o n \n 0005120 ` ( d e f m 0005140 a c r o , ( s y m b o l n a 0005160 m e ( c a a r l f i e l d ) 0005200 ) \n 0005220 0005240 ( s t r 0005260 u c t . v a l ) \n 0005300 0005320 ( i f n v a l \n 0005340 0005360 ` 0005400 ( v r e f , s t r u c t , ' 0005420 , i n d e x ) \n 0005440 0005460 ` ( v s e t , 0005500 s t r u c t , ' , i n d e x 0005520 , ( c a r v a l ) ) ) ) ) \n 0005540 ( 0005560 n e x t l l f i e l d ) \n 0005600 ( i 0005620 n c r i n d e x ) ) \n 0005640 ; e x p a n s i o n 0005660 d e l a v a l e u r r e n 0005700 v o y e ' e p a r d e f s t 0005720 r u c t \n ( n e 0005740 w l e x p a n s i o n ` ' , 0005760 n a m e ) \n ; 0006000 l ' e x p a n s i o n d u d 0006020 e f s t r u c t \n 0006040 ` ( p r o g n , @ ( n r e v 0006060 e r s e e x p a n s i o n ) ) 0006100 ) ) ) ) ) ) ) \n \n ; . S S e c 0006120 t i o n " L a f o n c t i o 0006140 n d e c r e ' a t i o n g 0006160 e ' n e ' r i q u e " \n \n ( d e 0006200 n e w ( t y p e ) \n 0006220 ( i f n ( o b j v a l t y p 0006240 e ) \n ( e r r 0006260 o r ' n e w : e r r o r : n 0006300 o t - a - s t r u c t t y p e 0006320 ) \n ( t y p e 0006340 v e c t o r ( c o p y ( : S 0006360 t r u c t : i n i t ( o b j v 0006400 a l t y p e ) ) ) t y p e ) 0006420 ) ) \n \n ; . S S e c t i o n 0006440 " D e ' f i n i t i o n d e 0006460 f o n c t i o n s d e c r e 0006500 ' a t i o n s " \n \n ( d e f m a 0006520 c r o d e f m a k e ( s t r 0006540 u c t n a m e f u n n a m e 0006560 a r g s ) \n ( i f n ( 0006600 o b j v a l s t r u c t n a m 0006620 e ) \n ( e r r 0006640 o r ' d e f m a k e : e r r 0006660 o r : n o t - a - s t r u c t 0006700 s t r u c t n a m e ) \n 0006720 ` ( d e , f u n n a 0006740 m e , a r g s \n 0006760 ( l e t ( ( : s 0007000 t r u c t ( n e w ' , s t r 0007020 u c t n a m e ) ) ) \n 0007040 , @ 0007060 ( i f ( s y m b o l p a r g 0007100 s ) \n 0007120 ( l i s 0007140 t ( : d e f m a k e - a u x 0007160 a r g s s t r u c t n a m e ) 0007200 ) \n 0007220 ( m a p c 0007240 a r ' : d e f m a k e - a u x 0007260 a r g s ) ) \n 0007300 : s t r 0007320 u c t ) ) ) ) \n \n ( d e : d e 0007340 f m a k e - a u x ( p n a m e 0007360 s t r u c t n a m e ) \n 0007400 ` ( , ( o r ( : f i n d - a 0007420 c c e s s - f u n s t r u c t 0007440 n a m e p n a m e ) \n 0007460 ( e r r o r ' d 0007500 e f m a k e : e r r o r : n o 0007520 - s u c h - f i e l d p n a m 0007540 e ) ) \n : s t r u c 0007560 t , p n a m e ) ) \n \n ( d e 0007600 : f i n d - a c c e s s - f u n 0007620 ( s t r u c t n a m e p n a 0007640 m e ) \n ( i f ( e q s t 0007660 r u c t n a m e ' | | ) ( ) 0007700 \n ( l e t ( ( s t r u 0007720 c t ( o b j v a l s t r u c 0007740 t n a m e ) ) ) \n 0007760 ( i f n s t r u c t ( ) 0010000 \n ( 0010020 i f ( a s s q p n a m e ( 0010040 : S t r u c t : l f i e l d s 0010060 t r u c t ) ) \n 0010100 ( s y m b o 0010120 l s t r u c t n a m e p n a 0010140 m e ) \n 0010160 ( : f i n d - a c c 0010200 e s s - f u n ( p a c k a g e 0010220 c e l l s t r u c t n a m e ) 0010240 p n a m e ) ) ) ) ) ) \n \n ; 0010260 . S S e c t i o n " D e ' f 0010300 i n i t i o n d e M e ' t h 0010320 o d e s " \n \n ( d e f m a c r o 0010340 d e f m e t h o d ( ( s t r 0010360 u c t n a m e f u n ) a r g 0010400 s a c c e s s . b o d y ) 0010420 \n ( i f n ( o b j v a l 0010440 s t r u c t n a m e ) \n 0010460 ( e r r o r ' d e f m e t h 0010500 o d : e r r o r : n o t - a - 0010520 s t r u c t s t r u c t n a m 0010540 e ) \n ( w h e n a c 0010560 c e s s \n ( 0010600 s e t q b o d y \n 0010620 ` ( ( l e t 0010640 , ( : m a k e - m e t h o d - 0010660 l e t s t r u c t n a m e \n 0010700 * 0010740 ( c a r a r 0010760 g s ) a c c e s s ) \n 0011000 0011020 , @ b o d y ) ) ) ) \n 0011040 ` ( d e , ( s y m b o l 0011060 s t r u c t n a m e f u n ) 0011100 , a r g s , @ b o d y ) ) ) \n 0011120 \n ( d e : m a k e - m e t h o 0011140 d - l e t ( s t r u c t n a m 0011160 e s e l f a c c e s s ) \n 0011200 ( l e t ( ( l e t - l i 0011220 s t ) ( f u n ) ) \n 0011240 ( w h i l e a c c e s 0011260 s \n ( 0011300 s e t q f u n ( : f i n d - 0011320 a c c e s s - f u n s t r u c 0011340 t n a m e ( c a r a c c e s 0011360 s ) ) ) \n 0011400 ( n e w l l e t - l i s t 0011420 \n 0011440 ( i f f u n \n 0011460 0011500 ` ( , ( c a r a c c e s s 0011520 ) ( , f u n , s e l f ) ) \n 0011540 0011560 ` ( , ( c a r a c c 0011600 e s s ) ( s e n d ' , ( c a 0011620 r a c c e s s ) , s e l f ) 0011640 ) ) ) \n 0011660 ( n e x t l a c c e s s ) 0011700 ) \n ( n r e 0011720 v e r s e l e t - l i s t ) ) 0011740 ) \n \n ; . S S e c t i o n " 0011760 L e s E r r e u r s " \n \n ( d 0012000 e f v a r : e r r o r : n o t 0012020 - a - s t r u c t " N o t a 0012040 s t r u c t u r e " ) \n ( d e 0012060 f v a r : e r r o r : n o - s 0012100 u c h - f i e l d " N o s u 0012120 c h F i e l d " ) \n \n ; . S 0012140 S e c t i o n " B o o t S t r 0012160 a p " \n \n ( d e f s t r u c t 0012200 # : A l c y o n e : S t r u c t 0012220 n a m e i n i t l f i e l 0012240 d ) \n \n 0012244