Concepts of Programming Languages

Assignment 4 - Combinators

Due: Nov 3

- Using the basic algorithm described by Turner in his
paper "A New Implementation Technique for Applicative Languages"
(i.e. using only the S, K and I combinators), give the variable-free
form of the function:

`square x = x * x`

- Show the result of applying this expression to 5.
- Give the optimized form for square using the additional rules (those for the B and C combinators and the simplification rules)
- Show the result of applying the optimized expression to 5.

- Using the basic algorithm described by Turner in his
paper "A New Implementation Technique for Applicative Languages"
(i.e. using only the S, K and I combinators), give the variable-free
form of the function:
- Write a haiku reflecting on the Haskell programming
experience.(See
`http://www.cs.washington.edu/education/courses/505/fall94/oo/haiku.html`

for inspiration.)