of 2
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
4
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
1
b a s i c - v a l u e
1
) ( x
2
b a s i c - v a l u e
2
) ( x
3
b a s i c - v a l u e
3
) ) 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
1
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 ) = = >
7
; 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
4
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
4
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 .
2