Computer Laboratory > Teaching > Course material 2007–08 > Foundations of Functional Programming


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 Correction
23 "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".
44 "C' ::= C' M | NF2 C' | *" should be "C ::= C' M | NF2 C | *"
45 Call-by-value second line should be "C ::= C M | * | (lambda x. M) C"
56 Definition of addition should be "lambda m n f x. m f (n f x)"