Harvard University, FAS

Home
Syllabus
Lecture Notes

ML Resources
MIPS and SPIM

Problem Set 6: Mapping MLish to Scish

Due Wednesday, 4 November 2009, 11:00am.


Overview:

The goal of this problem set is to learn more about building a front-end for a modern language such as ML that supports polymorphism and type-inference. In particular, your job is to build a type-inference routine for MLish, a subset of ML, and then to map MLish programs down to Scish (so they can be interpreted by the Scish interpreter or if you're really brave, compiled to Cish and then down to Mips code.)

Instructions

Create a directory ps6. Download the mlish.zip zip file and unzip it within the ps6 directory. You should find a directory that contains all of the files that you will need for this assignment.

The file README contains more detailed directions about what you need to do. In particular, you will be modifying the files mlish_type_check.sml and mlish_compile.sml to complete the parts that are missing.

Submitting your work

Please use the CS153 submission script provided on the nice servers at ~lib153/bin/cs153submit. For each assignment, you should create a new subdirectory to hold all of the supplied files along with any file you create. When you have complete the assignment, submit your work with the following command:
# ~lib153/bin/cs153submit N dir
where N is the assignment number, and dir the the directory containing the files for the assignment. For example, if you are using a directory called ps6 for this assignment, you can submit your work with the command.
# ~lib153/bin/cs153submit 6 ps6

You can submit your work as many times as you like. Only the last submission will be graded. You can view your current submission using the submit command:

submit ls lib153 6
Show the time-stamp and size of your last submission for assignment 6.
submit contents lib153 6
Show the contents of your last submission for assignment 6.

For more information, see man submit on the nice servers.