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