CS 421: Programming Languages and Compilers
Machine Problem 6 (MP6)
MP6 has you implement a unification algorithm. Keep in mind that your solution must define every required function, otherwise the grading program will not compile and you will receive no points for the entire homework set. For example, if you decide not to implement the function splat (for whatever reason), you need to have it defined as:
let splat x = raise (Failure("Whatever you would like"))

IMPORTANT: Make sure that you read the README file in the grader bundle . This file contains important information.

Also, make sure you read the "Guide for Doing MPs".

Files
mp6.pdf (v1.2) fixed line overruns, setified argument to unify, extended deadline
mp6grader.tar.gz(v1.1) corrected if-then-else in solution.cmo; made grader be more liberal in what it can count as correct.
mp6-sol.ml
tests-full.txt