COMP3610 Principles of Programming Languages
Assignments
There will be two assignments, with due dates near to week 7 and week 12.
- Assignment 1: Translating Lambda Calculus to
Combinatory Logic
Due: 6pm Thursday 5th September 2013.
No late penalties for submissions before 6pm Monday 9th September 2013. If you are interested, here are two historical papers about implementing functional programming languages, related to the topic of this assignment. One is by David A. Turner who built the first Miranda compiler using this technique. (Miranda was a direct forerunner of Haskell). The other is by John Hughes and formed the basis for the original implementations of Haskell. - Assignment 2: Turtle Compiler
Due 1 p.m. Friday 25th October, 2013- Assignment Specification
- Specification, tools and test code:
TurtleTools.tgzcontaining:- Two PDPlot simulators, one written in C that generates .png files, and one written in Haskell that generates .ps files. To compile the first one you may need to install libgd.
- A PDPlot disassembler to convert .p object code into .asm assembly code for debugging.
- Test programs: some that work, and some that have errors.


