In this assignment we will be using lists to implement "sets" - collections of items in which no duplicates are allowed.
Your functions in 1-5 may assume that each input "set" contains no duplicate members. Your outputs in questions 2-4 should also never contain duplicates.
In each case, loading the q?.* file (via the ML "use" or the Scheme "load" command) into sml/scheme should result in the declaration of the function requested in that problem. If your implementation of the reuqested functions call upon other functions that you have written, those functions should also be loaded. For example, if your implementation of setDiff uses your isMember function, then q2.sml must either include the actual code of isMember, or must include the line
use "q1.sml";
~zeil/bin/sml
To load a file into your SML session, use the "use" function:
use "filename";
To end your SML session, use control-D (the "standard" Unix signal for end-of-file).
To run scheme
~zeil/bin/scheme
To load a file into your Scheme session, use the "load" function:
(load "filename")
To end your scheme session, use control-D (the "standard" Unix signal for end-of-file).
Additional info on both SML and Scheme is available on the "Library" page of the course web site.
You will receive an automatic e-mailed grade report.
There are a large number of tests. They break down as follows: