COMP3161/9164 Concepts of Programming Languages
Term 3, 2025

Overview

Table of Contents

1. Assignment 2: Type Inference for Polymorphic MinHS

1.1. Due Date

1pm, Monday 24th of November (Monday of week 11)

1.2. Goal

Assignment 2 is to develop a type inferencer for the MinHS language.

The goal is to implement in Haskell a type inference scheme which is provided to you as a system of inference rules in the spec document. An overview to the type inference approach has been given in the type inference lecture in week 8.

1.3. Haskell sources

You can download the supplied materials as a zip file here. This includes the syntax and parser setup for MinHS already seen in previous assignments. An extensive test input set is also provided, but test outputs are not provided.

The supplied Haskell development can be built via either the Cabal build/package system (`cabal build`) or the Stack build/package system (`stack build`). The setup should look familiar from the previous assignment.

Cabal is installed on CSE machines already. However, the full build of the provided sources (and their various dependencies) requires 1 to 2 GB of disk space, which students will typically not have on their shared CSE directories. We recommend students install on their own hardware if possible. Let us know (on the forum or class email account) if getting Cabal or Stack set up proves impossible.

1.4. Questions

Please ask questions about the assignment on the forum, using the Assignments/A2 tag.

1.5. Updates

We may update the specification or supplied materials if there is a problem. If we do, we will post updates here and on the main course website. Check before making your final submission that you have seen any updates.

2025-12-05 Fri 11:50

Announcements RSS