CS 421: Programming Languages and Compilers
Machine Problem 1 (MP1)
MP1 will help you learn basic OCaml syntax, and give you some practice writing simple functions, and should, hopefully, leave you comfortable with writing basic programs in OCaml. 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(""))

Handin instructions:

Simply define your functions in a file called mp1.ml as you would in the OCaML interpreter, skipping the ";;" at the end of each line. (You can check if they'll compile correctly by running ocaml and typing #use "mp1.ml";; - this will load the .ml file and read in the functions and variables defined within.)
A skeleton mp1.ml is provided for your convenience.

Handing in MP1: First, make sure you read handin information. Then, on any of the EWS Linux machines (dcllnx{1-42}.ews.uiuc.edu), run ~cs421/bin/handin to get further instructions. If you don't have an EWS account, send an email to a TA ASAP!.

Files
mp1.pdf
mp1grader.tar.gz
mp1-skeleton.ml
mp1-sol.ml(updated on 9/12/2006)