C311 Assignment 3 -- Symbolic Reduction

Due Monday, January 30th, at 8:55 AM

Read EOPL Chapter 3 (Section 3.4 only to the extent necessary to follow later material). Read Sections 4.1 and 4.2 as preparation for this assignment. Skip Sections 4.3 and 4.4, unless you want to know more about the lambda calculus.

Sections 4.1 and 4.2 will be covered in lecture on Wednesday.

Submit via email

EOPL Exercise 4.2.3, but do the substitution directly on the Scheme-like syntax (using form-case), rather than parsing. Chez Scheme provides gensym.
> (substitute '(a b) 'c 'b)
(a c)
> (substitute '(lambda (a) (a b)) 'a 'b)
(lambda (#:g0) (#:g0 a))
chaynes@indiana.edu