Foundations of Functional Programming
Principal lecturer: Dr Matthew Parkinson
Taken by: Part IB
Past exam questions
The course slides corrected to lecture 4.
The notes from last year can be found here.
There are some exercises by Philippa Gardner:
| Slide no
||"or lambda xs. x2 =alpha lambda ys.y2" should additionally have condition
"or x1 =/= x2 and y1 =/= y2 and lambda xs. x2 =alpha lambda ys.y2".
||"C' ::= C' M | NF2 C' | *" should be "C ::= C' M | NF2 C | *"
||Call-by-value second line should be "C ::= C M | * | (lambda x. M) C"
||Definition of addition should be "lambda m n f x. m f (n f x)"