+ All Categories
Home > Documents > Substitution model for scheme kernel

Substitution model for scheme kernel

Date post: 07-Jul-2018
Category:
Upload: ronalduck
View: 217 times
Download: 0 times
Share this document with a friend

of 2

Transcript
  • 8/19/2019 Substitution model for scheme kernel

    1/2

    A S u b s t i t u t i o n M o d e l f o r t h e K e r n e l o f S c h e m e  

    G r a n t I . H o  

     

    g u m b e e @ m i t . e d u  

    M I T L a b o r a t o r y f o r C o m p u t e r S c i e n c e  

    A b s t r a c t : T h i s p a p e r p r e s e n t s t h e f o r m a l s p e c i c a t i o n s  

    f o r t h e d e v e l o p m e n t o f a s u b s t i t u t i o n m o d e l f o r t h e k e r n e l  

    o f S c h e m e , w r i t t e n i n t h e k e r n e l o f S c h e m e . A s u b s t i t u t i o n  

    m o d e l d e n e s a s e t o f r e w r i t e r u l e s a c c o r d i n g t o w h i c h e x -  

    p r e s s i o n s i n t h e f u n c t i o n a l S c h e m e k e r n e l a r e s u c c e s s i v e l y  

    r e d u c e d t o o t h e r s u c h e x p r e s s i o n s u n t i l a v a l u e f o r t h e o r i g i -  

    n a l e x p r e s s i o n i s r e t u r n e d . S i n c e r e g u l a r S c h e m e e x p r e s s i o n s  

    c a n b e d e r i v e d f r o m t h e s y n t a x o f a f u n c t i o n a l S c h e m e k e r n e l ,

    t h e k e r n e l o f S c h e m e w a s s e l e c t e d a s t h e l a n g u a g e o f c h o i c e  

    b e c a u s e i t w o u l d l e a d t o a s i m p l e r , c l e a n e r , a n d m o r e e c i e n t  

    i m p l e m e n t a t i o n o f t h e s u b s t i t u t i o n m o d e l . T h e p u r p o s e i n  

    d e v e l o p i n g s u c h a m o d e l w a s p e d a g o g i c a l . I t w o u l d s u p p l e -  

    m e n t t h e t e a c h i n g o f t h e s u b s t i t u t i o n m o d e l t o s t u d e n t s r s t  

    l e a r n i n g S c h e m e , s e r v e a s a n e x p r e s s i o n d e b u g g e r , a n d h e l p  

    i n u n d e r s t a n d i n g t h e r e d u c t i o n p r o c e s s i n t h i s l a n g u a g e .

    K e y w o r d s : k e r n e l o f S c h e m e , k e y w o r d , e x p r e s s i o n , v a l u e ,

    v a r i a b l e , i n s t a n t i a t i o n , g a r b a g e - c o l l e c t i o n , e n f o r c e , r e l a x .

    1 F o r m a l D e n i t i o n s  

    1 . 1 K e r n e l S y n t a x  

    I n d e s i g n i n g a s u b s t i t u t i o n m o d e l f o r t h e k e r n e l o f S c h e m e , i t i s n e c e s -  

    s a r y t o d e n e t h e s y n t a x f o r t h e f u n c t i o n a l S c h e m e k e r n e l a s d e s c r i b e d  

    i n R e v i s e d  

    S c h e m e R e p o r t 1 ] . T h e k e r n e l s y n t a x c o n s i s t s o f 4 p a r t s :

    k e y w o r d s , e x p r e s s i o n s , a u x i l l a r i e s   a n d  c o n s t a n t s   K e y w o r d s   i n c l u d e :

    i f , l a m b d a , a n d  l e t r e c   . A l t h o u g h t h e r e a r e o n l y t h r e e k e y w o r d s d e n e d  

    i n t h e f u n c t i o n a l k e r n e l , e x t e n d e d S c h e m e g r a m m a r s u c h a s   a n d , o r ,

    b e g i n , c o n d , a n d  l e t  , c a n b e d e r i v e d f r o m t h e s e t h r e e e s s e n t i a l k e y -  

    w o r d s . F r o m t h e s e k e y w o r d s , S c h e m e   e x p r e s s i o n s   ( d e n o t e d b y   N , M ,

    a n d  B  ) c a n b e f o r m e d : (  i f  M N B  ) , (  l a m b d a   (    )  B  ) , a n d (  l e - 

    t r e c   (    )  B  ) . F o r m a l s a n d b i n d i n g s a r e k n o w n a s   a u x i l l a r i e s  

    F i n a l l y , c o n s t a n t s   c o n s i s t o f   n u m e r a l s   ( e g . 0 , - 1 , 3 . 1 4 1 5 9 ) , b o o l e a n s  

    ( e g . # t , # f ) , a n d   s c h e m e - c o n s t a n t s   ( e g . < >  , < >  , a n d  

    < >  b u i l t - i n p r o c e d u r e s ) .

    I t i s i m p o r t a n t t o r e a l i z e t h a t t h e p r i m i t i v e p r o c e d u r e f o r a d d i t i o n ,

    + , i s   n o t  a s c h e m e - c o n s t a n t . I n s t e a d , i t i s a   v a r i a b l e   t h a t i d e n t i e s t h e  

    p r i m i t i v e a d d i t i o n p r o c e d u r e b u i l t i n t o t h e S c h e m e i n t e r p r e t e r . I t s a s -  

    s o c i a t e d s y m b o l , < >  , i s  a s c h e m e - c o n s t a n t b e c a u s e i t r e p r e s e n t s  

    t h e a c t u a l a d d i t i o n o p e r a t i o n . I n t h e s u b s t i t u t i o n m o d e l , v a r i a b l e s  

    t h a t r e p r e s e n t p r i m i t i v e p r o c e d u r e s h a v e a s s o c i a t e d s c h e m e - c o n s t a n t s  

    t h a t a r e d e n e d b y t h e p r o g r a m m e r i n t h e i n i t i a l - g l o b a l - e n v i r o n m e n t  

    a n d e n c l o s e d b e t w e e n p o i n t e d b r a c k e t s , < < > >  

    1 . 2 D e n i t i o n o f V a l u e s  

    T w o t y p e s o f   v a l u e s   e x i s t i n t h e S c h e m e k e r n e l : b a s i c v a l u e s   a n d  l e - 

    t r e c v a l u e s   A  b a s i c v a l u e   i s t h e s e t o f n u m e r a l s , b o o l e a n s , s c h e m e -  

    c o n s t a n t s , a n d   l a m b d a   v a l u e s : (  l a m b d a   (    ) v a l u e ) . L e t r e c  

    v a l u e s   h a v e t h e f o r m : (  l e t r e c   ( ( x 

    b a s i c - v a l u e  

    ) ( x 

    b a s i c - v a l u e  

    ) ( x 

    b a s i c - v a l u e  

    ) ) v a l u e ) 4 ] . A n y e x p r e s s i o n t h a t i s n o t a v a l u e i s r e d u c e d  

    b y t h e r u l e s o f s u b s t i t u t i o n m o d e l .

     

    G r a n t H o w a s s u p e r v i s e d b y P r o f e s s o r A l b e r t R . M e y e r i n t h e T h e o r y  

    o f C o m p u t a t i o n G r o u p i n t h e s u m m e r o f 1 9 9 4 . T h e t h r e e o t h e r u n -  

    d e r g r a d u a t e s t u d e n t s w h o c o n t r i b u t e d s i g n i c a n t l y t o t h i s p r o j e c t w e r e  

    D a n i e l O ' B r i e n ' 9 5 , B r i a n S e m m e s ' 9 6 , a n d Y i - H u n g L i ' 9 7 . A d d r e s s :

    3 A m e s S t r e e t , R o o m B e m i s 2 0 2 , C a m b r i d g e M A 0 2 1 4 2 . W W W :

    h t t p : / / w w w . m i t . e d u : 8 0 0 1 : / p e o p l e / g u m b e e / h o m e p a g e . h t m l

    2 S u b s t i t u t i o n M o d e l O v e r v i e w  

    T h e s u b s t i t u t i o n m o d e l d e v e l o p e d b y t h e a u t h o r a n d h i s c o l l e a g u e s  

    f o l l o w s a f u n c t i o n a l d e s i g n a n d i s r e c u r s i v e l y c o n t r o l l e d b y a t o p - l e v e l

    e v a l u a t i o n l o o p a s f o l l o w s ( s e e F i g u r e 1 ) : 1 ) a k e r n e l S c h e m e e x p r e s -  

    s i o n i s p a s s e d t o t h e m o d e l a s a n a r g u m e n t , 2 ) t h e m o d e l c h e c k s t h e  

    e x p r e s s i o n f o r i t s t y p e ( i e : i f , l e t r e c , o r  l a m b d a  ) 3 ) t h e m o d e l a p p l i e s  

    o n e r e w r i t e r u l e a c c o r d i n g t o e x p r e s s i o n - t y p e , a n d 4 ) a n e w k e r n e l

    e x p r e s s i o n , r e d u c e d b y o n e s t e p , i s r e t u r n e d a n d d i s p l a y e d .

    V a l u e ? F i n a l V a l u e  

    - - 

    N e w E x p r e s s i o n  

     ?

    N o 

     6

    R e d u c e E x p r e s s i o n  

    Y e s 

    F i g u r e 1 : B l o c k d i a g r a m o f t h e s u b s t i u t i o n m o d e l l o o p .

    2 . 1 K e y F e a t u r e s o f S u b s t i t u t i o n M o d e l  

    O n e o f t h e m a i n i n n o v a t i o n s i n c r e a t i n g a s u b s t i t u t i o n m o d e l i s t h e  

    f o r m a t i o n o f   l e t r e c   e x p r e s s i o n s i n w a y s t h a t c o r r e s p o n d t o t h e c r e a t i o n  

    o f  e n v i r o n m e n t f r a m e s   ( r e g i o n s w h e r e v a r i a b l e s a r e b o u n d t o v a l u e s ) ,

    t h e r e b y a v o i d i n g u n n e c e s s a r y c o p y i n g . I n s t e a d o f r e l y i n g o n t h e   b e t a -  

    s u b s t i t u t i o n   m o d e l i n t h e e v a l u a t i o n o f   l a m b d a   e x p r e s s i o n s , t h e s u b s t i -  

    t u t i o n m o d e l d e s u g a r s   l a m b d a   a p p l i c a t i o n s i n t o   l e t r e c   a p p l i c a t i o n s a s  

    f o l l o w s :

    ( (  l a m b d a   ( x )  M  )  N  )  !  (  l e t r e c   ( ( x  N ) ) M   ) 

    T h e r e s u l t o f t h i s i s a s u b s t i t u t i o n m o d e l t h a t m o r e r e a l i s t i c a l l y a n d  

    a c c u r a t e l y r e e c t s t h e b e h a v i o r o f t i m e a n d s p a c e o f t h e e n v i r o n m e n t  

    m o d e l 5 ] .

    T h e r e a r e 6 m a j o r s e c t i o n s i n t h e s u b s t i t u t i o n m o d e l c o d e : 1 ) t h e  

    i n i t i a l - g l o b a l - e n v i r o n m e n t , 2 ) d e n i t i o n s o f k e y w o r d s a n d v a l u e s , 3 )  

    m a i n e v a l u a t i o n l o o p 4 ) r e w r i t e r u l e s , 5 ) g a r b a g e - c o l l e c t i o n , a n d 6 )  

    v a r i a b l e r e n a m i n g .

    2 . 1 . 1 I n i t i a l G l o b a l E n v i r o n m e n t  

    T h e  i n i t i a l - g l o b a l - e n v i r o n m e n t   c o n t a i n s a l i s t o f p r i m i t i v e p r o c e d u r e s  

    a n d t h e i r a s s o c i a t e d k e r n e l s c h e m e - c o n s t a n t s . S i n c e p r i m i t i v e p r o c e -  

    d u r e s a r e v a r i a b l e s a n d n o t v a l u e s , t h e y m u s t b e   i n s t a n t i a t e d   w i t h  

    t h e i r c o r r e s p o n d i n g s c h e m e - c o n s t a n t s i n t h e r e d u c t i o n p r o c e s s . I n -  

    s t a n t i a t i o n o c c u r s e v e r y t i m e a v a r i a b l e i s b o u n d t o a v a l u e i n t h e  

    i n i t i a l - g l o b a l - e n v i r o n m e n t   o r a n o t h e r e n v i r o n m e n t f r a m e . T h e   i n i t i a l -  

    g l o b a l - e n v i r o n m e n t   a l s o c o n t a i n s a   l o o k u p - t a b l e   t h a t m a p s a s c h e m e -  

    c o n s t a n t t o i t s a s s o c i a t e d o p e r a t o r i n t h e S c h e m e i n t e r p r e t e r s o t h a t  

    e v a l u a t i o n o f t h e e x p r e s s i o n m a y t a k e p l a c e .

    2 . 1 . 2 M a i n E v a l u a t i o n L o o p  

    T h e m a i n e v a l u a t i o n l o o p c o n t a i n s t h e   k e r n e l - e v a l a n d  l e f t - r e d u c e   p r o c e -  

    d u r e s . K e r n e l - e v a l i s t h e t o p - l e v e l e v a l u a t i o n l o o p t h a t p a s s e s a S c h e m e  

    e x p r e s s i o n e n t e r e d b y t h e u s e r , p e r f o r m s a   t o p - l e v e l - g a r b a g e - c o l l e c t   o n 

    t h e e x p r e s s i o n , a n d c h e c k s t o s e e i f t h e n e w e x p r e s s i o n i s a v a l u e . I f i t  

  • 8/19/2019 Substitution model for scheme kernel

    2/2

    i s a v a l u e , t h e n t h e e x p r e s s i o n i s r e t u r n e d a n d d i s p l a y e d . O t h e r w i s e ,

    t h e m o d e l r e t u r n s t h e g a r b a g e - c o l l e c t e d e x p r e s s i o n t o t h e   l e f t - r e d u c e  

    p r o c e d u r e f o r a o n e - s t e p r e d u c t i o n . L e f t - r e d u c e   t a k e s t h e g a r b a g e -  

    c o l l e c t e d e x p r e s s i o n a n d t h e   i n i t i a l - g l o b a l - e n v i r o n m e n t   a s a r g u m e n t s ,

    c h e c k s t h e e x p r e s s i o n f o r i t s t y p e , a n d r e t u r n s t h e e x p r e s s i o n , b a s e d  

    o n t y p e , t o a s p e c i c r e d u c t i o n p r o c e d u r e . A n e x p r e s s i o n c o n t i n u e s t o  

    b e  l e f t - r e d u c e   d b y o n e s t e p u n t i l a v a l u e i s r e t u r n e d .

    2 . 1 . 3 R e w r i t e R u l e s  

    T h e r e a r e v e m a i n r e d u c t i o n p r o c e d u r e s i n t h e s u b s t i t u t i o n  

    m o d e l : r e d u c e - i f , r e d u c e - l e t r e c , r e d u c e - l a m b d a , r e d u c e - i n i t s , a n d  r e d u c e -  

    c o m b i n a t i o n   R e d u c e - c o m b i n a t i o n   r e d u c e s e x p r e s s i o n c o m b i n a t i o n s o r  

    u s e r - d e n e d p r o c e d u r e s a p p l i e d t o t h e i r a r g u m e n t s ( e g . ( + 1 2 3 )  o r 

    (  f a c t o r i a l 5 ) , w h e r e   f a c t o r i a l i s d e n e d w i t h a   l e t r e c   e x p r e s s i o n ) . A l l

    r e d u c t i o n p r o c e d u r e s i n t h e s u b s t i t u t i o n m o d e l e m p l o y t h e s a m e i d e a  

    i n r e w r i t i n g t o a n e w e x p r e s s i o n . T h e   c a r  , o r l e f t m o s t e l e m e n t o f a  

    g i v e n e x p r e s s i o n , i s r s t   l e f t - r e d u c e   d b y o n e s t e p , a n d c o n t i n u e s t o b e  

    r e d u c e d b y o n l y o n e s t e p u n t i l i t b e c o m e s a v a l u e . T h e n , l e f t - r e d u c e  

    i s c a l l e d o n t h e   c d r  o f t h a t e x p r e s s i o n s u c h t h a t t h e l e f t m o s t e l e m e n t  

    o f t h e n e w s u b e x p r e s s i o n i s   l e f t - r e d u c e   d , a g a i n b y o n e s t e p , u n t i l i t 

    b e c o m e s a v a l u e . T h e p r o c e s s c o n t i n u e s u n t i l a l l e l e m e n t s i n t h e o r i g -  

    i n a l e x p r e s s i o n h a v e b e c o m e v a l u e s o r u n t i l a s i n g l e e v a l u a t i o n o f t h e  

    e x p r e s s i o n c a n t a k e p l a c e a c c o r d i n g t o e x p r e s s i o n - t y p e 1 ] .

    T o e v a l u a t e a n e x p r e s s i o n o r s u b e x p r e s s i o n w h o s e e l e m e n t s c o n t a i n  

    a l l v a l u e s , l e f t - r e d u c e   c a l l s a p r o c e d u r e n a m e d   a p p l y - p r o c   A p p l y - p r o c  

    n d s t h e p r i m i t i v e o p e r a t o r , i n t h e   l o o k u p - t a b l e   , t h a t c o r r e s p o n d s t o  

    t h e  c a r  o f t h e e x p r e s s i o n t o b e e v a l u a t e d , a n d a p p l i e s t h a t b u i l t - i n  

    o p e r a t o r t o t h e   c d r  o f t h e e x p r e s s i o n . T h i s s t e p r e t u r n s a v a l u e f o r t h e  

    e x p r e s s i o n .

    2 . 1 . 4 G a r b a g e C o l l e c t i o n  

    T h e a d d i t i o n o f a   t o p - l e v e l - g a r b a g e - c o l l e c t   p r o c e d u r e t o t h e m a i n e v a l u -  

    a t i o n l o o p m a p s a g e n e r i c   g a r b a g e - c o l l e c t   p r o c e d u r e t o t h e   c d r  o f a g i v e n  

    e x p r e s s i o n , t h e r e b y f o r c i n g a l l s u b e x p r e s s i o n s t o b e   g a r b a g e - c o l l e c t  e d 

    b e f o r e r e d u c t i o n t a k e s p l a c e . T h e   g a r b a g e - c o l l e c t   p r o c e d u r e , w h i c h  

    t a k e s a   l e t r e c   e x p r e s s i o n a s a n a r g u m e n t , e n s u r e s t h e r e m o v a l o f a l l

    b i n d i n g s w h o s e v a r i a b l e s h a v e a l r e a d y b e e n i n s t a n t i a t e d i n t o t h e b o d y  

    o f t h e   l e t r e c   e x p r e s s i o n , a n d h e n c e h a v e n o m o r e b o u n d o c c u r e n c e s 4 ] .

    T o i d e n t i f y s u c h v a r i a b l e s , a n a u x i l l a r y p r o c e d u r e n a m e d   f r e e - v a r i a b l e s  

    w a s d e n e d . T h e s t r a t e g y b e h i n d a t o p - l e v e l g a r b a g e - c o l l e c t i o n w a s  

    r e t u r n i n g a s i m p l e r e x p r e s s i o n t o   l e f t - r e d u c e   a n d h e n c e , p r o v i d i n g a  

    f a s t e r a n d m o r e e c i e n t s u b s t i t u t i o n m o d e l . G a r b a g e - c o l l e c t i o n i n  

    g e n e r a l , a l s o r e t u r n s c l e a n e r a n d n e a t e r e x p r e s s i o n s t o t h e u s e r .

    2 . 1 . 5 V a r i a b l e R e n a m i n g  

    T w o c o m p l e m e n t a r y v a r i a b l e - r e n a m i n g p r o c e d u r e s a r e d e n e d i n t h e  

    s u b s t i t u t i o n m o d e l : e n f o r c e   a n d  r e l a x   . T h e   e n f o r c e   p r o c e d u r e t a k e s a  

    l e t r e c   e x p r e s s i o n a n d a d d s a f r e s h s u x n u m b e r , s t a r t i n g f r o m 1 , t o  

    t h e e n d s o f a l l v a r i a b l e s o f t h e s a m e n a m e f o u n d i n t h a t e x p r e s s i o n .

    F o r e x a m p l e , i n t h e e x p r e s s i o n , (  l e t r e c   ( ( x 1 ) ) ( + x (  l e t r e c   ( ( x 2 ) ) x ) ) ) ,

    t h e b i n d i n g - v a r i a b l e x h a s t w o o c c u r e n c e s , o n e n e s t e d i n s i d e t h e o t h e r  

    l e t r e c   . T h u s , e n f o r c i n g t h e e x p r e s s i o n r e t u r n s (  l e t r e c   ( ( x # 1 1 ) ) ( + x # 1  

    (  l e t r e c   ( ( x # 2 2 ) ) x # 2 ) ) ) , w h e r e t h e v a r i a b l e x h a s b e e n e n f o r c e d t o x # 1  

    i n t h e o u t e r l e t r e c a n d x # 2 f o r t h e i n n e r l e t r e c . T h e p u r p o s e b e h i n d  

    e n f o r c i n g a n e x p r e s s i o n i s t o a v o i d t h e p o s s i b i l i t y o f v a r i a b l e - n a m e  

    c l a s h i n g . S i n c e a l e t r e c e x p r e s s i o n c a n b e d e n e d t o c o n t a i n n e s t e d  

    l e t r e c s a n d t h e u s e o f t h e s a m e v a r i a b l e m o r e t h a n o n c e , e n f o r c i n g a n  

    e x p r e s s i o n a t t h e t o p - l e v e l e n s u r e s t h a t v a r i a b l e s o f t h e s a m e n a m e  

    ( w i t h d i e r e n t b i n d i n g s ) h a v e d i e r e n t s u x e s . T h i s a v o i d s p o t e n t i a l

    e r r o r s i n v a r i a b l e i n s t a n t i a t i o n .

    R e l a x   w o r k s o p p o s i t e t o t h e e n f o r c e p r o c e d u r e . A f t e r t h e e n d o f  

    t h e r e d u c t i o n p r o c e s s , r e l a x   t a k e s t h e e x p r e s s i o n , w h i c h h a s a l r e a d y  

    b e e n   e n f o r c e  d a n d   g a r b a g e - c o l l e c t  e d , a n d r e t u r n s a n e x p r e s s i o n w i t h  

    f r e e v a r i a b l e s u n t o u c h e d a n d a l l b o u n d e d v a r i a b l e s r e n a m e d w i t h t h e  

    m i n i m u m n u m b e r o f s u x e s . T h e r e s u l t i s a c l e a n e r e x p r e s s i o n t h a t  

    c a n b e m o r e e a s i l y u n d e r s t o o d b y t h e u s e r .

    T h e f o l l o w i n g e x a m p l e i l l u s t r a t e s t h e s u b s t i t u t i o n m o d e l i n a c t i o n  

    o n a s i m p l e S c h e m e e x p r e s s i o n :

    U s e r e n t e r s :  

    (  k e r n e l - e v a l ' (  i f  (  >  2 1 ) 

    ( ( l a m b d a ( x y ) ( + x y ) ) 3 4 )  

    ( + 1 2 ) )  

    S u b s t i t u t i o n m o d e l r e t u r n s :  

    = = ( 0 ) = =   > 

    (  i f  (  >  2 1 ) ( (  l a m b d a   ( x y ) ( + x y ) ) 3 4 ) ( + 1 2 ) )  

    = = ( 1 ) = =   > 

    (  i f  (  < < > > >   2 1 ) ( (  l a m b d a   ( x y ) ( + x y ) ) 3 4 ) ( + 1 2 ) )  

    = = ( 2 ) = =   > 

    (  i f  # t ( (  l a m b d a   ( x y ) ( + x y ) ) 3 4 ) ( + 1 2 ) )  

    = = ( 3 ) = =   > 

    ( (  l a m b d a   ( x y ) ( + x y ) ) 3 4 )  

    = = ( 4 ) = =   > 

    (  l e t r e c   ( ( x 3 ) ( y 4 ) ) ( + x y ) )  

    = = ( 5 ) = =   > 

    (  l e t r e c   ( ( x 3 ) ( y 4 ) ) (  < >  x y ) )  

    = = ( 6 ) = =   > 

    (  l e t r e c   ( ( y 4 ) ) (  < >  3 y ) )  

    = = ( 7 ) = =   > 

    (  < >  3 4 ) 

    = = ( 8 ) = =   > 

    ; V a l u e ; d o n e  

    I n t h e z e r o t h s t e p , t o p - l e v e l g a r b a g e - c o l l e c t i o n t a k e s p l a c e o n t h e  

    e n t i r e   i f  e x p r e s s i o n a n d a l l o v e r l a p p i n g v a r i a b l e n a m e s a r e e n f o r c e d  

    w i t h f r e s h s u x e s . I n t h e r s t s t e p , t h e v a r i a b l e   >  b e c o m e s i n s t a n t i -  

    a t e d w i t h i t s k e r n e l s c h e m e - c o n s t a n t , < < > > >  , a s d e n e d i n t h e  

    i n i t i a l - g l o b a l - e n v i r o n m e n t  . S i n c e t h e   t e s t   o f t h e   i f  e x p r e s s i o n c o n t a i n s  

    a l l v a l u e s , a p p l y - p r o c   i s c a l l e d o n t h e   t e s t   e x p r e s s i o n w h i c h e v a l u a t e s  

    t o # t . T h u s , t h e   c o n s e q u e n t   o f t h e   i f  e x p r e s s i o n i s r e t u r n e d a s d e n e d  

    i n R e v i s e d  

    S c h e m e 1 ] . I n t h e f o u r t h s t e p , t h e   l a m b d a   e x p r e s s i o n i s  

    d e s u g a r e d i n t o a   l e t r e c   e x p r e s s i o n b y t h e r u l e s o f t h e   r e d u c e - l a m b d a  

    p r o c e d u r e a n d i n t h e f t h s t e p , t h e v a r i a b l e + b e c o m e s i n s t a n t i a t e d  

    w i t h i t s   < >  . I n t h e s i x t h s t e p , t h e   l e t r e c   i n i t , ( y 4 ) , i s   g a r b a g e -  

    c o l l e c t  e d s i n c e i t i s n o l o n g e r h a s a n o c c u r e n c e i n t h e b o d y o f t h e  

    e x p r e s s i o n . T h e b o d y o f   l e t r e c   , (  < >  3 4 ) i s r e t u r n e d , a n d   a p p l y  

    - p r o c   a p p l i e s t h e p r i m i t i v e a d d i t i o n o p e r a t o r f o u n d i n t h e   l o o k u p - t a b l e  

    t o t h e o p e r a n d s , 3 a n d 4 . A n a l v a l u e o f 7 i s r e t u r n e d .

    R e f e r e n c e s  

    1 ] H a r o l d A b e l s o n e t a l . R e v i s e d  

    R e p o r t o n t h e A l g o r i t h m i c L a n -  

    g u a g e S c h e m e . M I T A r t i c i a l I n t e l l i g e n c e L a b o r a t o r y , N o v e m b e r  

    1 9 9 1 . A . I . M e m o N o . 8 4 8 .

    2 ] H a r o l d A b e l s o n a n d G e r a l d J . S u s s m a n w i t h J u l i e S u s s m a n . S t r u c -  

    t u r e a n d I n t e r p r e t a t i o n o f C o m p u t e r P r o g r a m s . M I T P r e s s , C a m -  

    b r i d g e , M A , 1 9 8 5 .

    3 ] M a t t h i a s F e l l e i s e n a n d R o b e r t H i e b . T h e r e v i s e d r e p o r t o n t h e  

    s y n t a c t i c t h e o r i e s o f s e q u e n t i a l c o n t r o l a n d s t a t e . T h e o r e t i c a l C o m -  

    p u t e r S c i e n c e   1 0 3 : 2 3 5 - 2 7 1 , 1 9 9 2 .

    4 ] A l b e r t R . M e y e r . A S u b s t i t u t i o n M o d e l D r a f t f o r S c h e m e : F o r m a l

    D e n i t i o n s . M I T L a b o r a t o r y f o r C o m p u t e r S c i e n c e , F e b r u a r y 1 9 9 4 .

    5 ] A l b e r t R . M e y e r . U s e r ' s G u i d e f o r t h e S u b s t i t u t i o n M o d e l . M I T  

    L a b o r a t o r y f o r C o m p u t e r S c i e n c e , A p r i l 1 9 9 4 .


Recommended