15-814: Arith language interpreter.

Frequently Asked Questions

0. What language should I use to implement the interpreter?

All programming assignments in this class should be done in Standard ML.

1. Do I need to implement a lexer and parser for Arith?

No, you do not. Your interpreter should be an ML function which takes a value of the ML datatype for expressions of Arith as input.

2. This seems like a lot of work. Am I doing something wrong? This seems too easy, am I doing something wrong?

An evaluator for Arith is described in Chapter 4 of Types and Programming Languages. Their implementation is in the OCaml dialect of ML. You should be able to read and understand their code. This assignment, then, is to simply translate their implementation into Standard ML.

3. How do I submit my solution?

Please save your solution in a single file with the following header:

   (****************************************************************)
   (* 15-814: Intro to Type Systems                                *)
   (* Arith language evaluator                                     *)
   (* (Date)                                                       *)
   (* (Your Name) (your email address)                             *)
   (****************************************************************)

To hand in your solution copy it to /afs/cs/user/aleksey/814submit/arith/. Name the file with your CS userid. For example, the transaction for me would look something like:

  $ cp ~/homework/arith.sml /afs/cs/user/aleksey/814submit/arith/aleksey
  $

You do not have any other access in that directory, so the copy will silently succeed.

4. I realized there is a mistake in my solution. Can I update my solution?

Not in an obvious way, no. If you need to submit multiple solution, send me email, and submit another solution by appending a non-negative integer to your userid to form the file name.

For example:

  $ cp ~/homeworks/arith-updated.sml /afs/cs/user/aleksey/814submit/arith/aleksey0
  $

If multiple files from the same person are present, I will grade the file that has the highest natural number suffix.


$Id: arith-faq.html,v 1.3 2002/09/20 12:51:18 aleksey Exp $
    $Log:	arith-faq.html,v $
# Revision 1.3  2002/09/20  12:51:18  aleksey
# Submission instructions added (questions 3,4).
# 
# Revision 1.2  2002/09/17  12:14:05  aleksey
# Some questions answered
#