Semantics of Computation (Spring 2002) Lab Sessions


Back to main page

Dates, Times and Places


Useful Online Support

Haskell Online Report

Important Remark

Make sure that you have a .pkgrc file in your home directory, and that it contains a line with the word hugs in it. Failing this, your system will not be able to find the hugs interpreter.

Short Overview of the Lab Sessions


Lightning Introduction to Haskell

Wednesday, April 10th: introduction to programming in Haskell, with exercises from the short Getting Started with Haskell Tutorial by Kees Doets and Jan van Eijck. You will also learn how to unpack the toolbox and use the tools. Next, you can try your hand at some exercises from Ass0.html.

Assignment 1

Wednesday, April 24th: give the finishing touch to a scanner, parser and evaluator for WHILE programs. See Ass1.html, with a deadline noon of May 8th , for details.

Assignment 2

Wednesday, May 22nd: put together a scanner, parser and evaluator for PROC programs. See Ass2.html, with deadline noon of June 5th, for details.

Assignment 3

Wednesday, June 5th: term reduction for lambda calculus. See Ass3.html, with deadline July 3rd, for details.

Assignment 4

Wednesday, June 19th: term unification for logic programming. See Ass4.html, with deadline July 3rd, for details.
We will use the state-of-the-art functional programming language Haskell for our prototyping. Some tools that we will use are the following: A concise introduction to Haskell can be found in A Gentle Introduction to Haskell, by Paul Hudak, John Peterson, and Joseph H. Fasel.

Laboratory Coursework Assignments

The laboratory coursework for Semantics of Computation consists of four assignments that you are supposed to email to Jan van Eijck at specified dates during the course.

IMPORTANT: After the deadlines have expired, solutions will be posted via this web page, and assignments can no longer be handed in.


Jan van Eijck
Last modified: Mon Jun 17 12:07:23 CEST 2002