CS457/557 Functional Languages Spring 1997

Instructor: Andrew Tolmach

Course Information

Lecture Notes


  • Suggested topics (html) (postscript)
  • The sml-tk system, which is based on SML of NJ, is now installed as /pkgs/sml/bin/sml-tk. Documentation is online in html or postscript.
  • A useful timing routine for SML/NJ.

    Suggested Exercises

    You should do as many exercises as you can, but the following are particularly suggested:

    Hints on SML

  • Both Reade and Ullman reflect "SML90", the original version of Standard ML. The SML/NJ compiler, "sml", compiles this version, with some upward-compatible extensions; Ullman may make use of some of these. All the examples in Reade and Ullman should compile without problems using "sml".
  • The Moscow ML interpreter, "mosml", interprets a (subset of) a more recent variant of SML by default. Since this variant isn't upward-compatible, some code in Reade and Ullman will fail. To configure mosml to make it behave as much like SML/NJ as possible, start it up as follows: "mosml -imptypes -P NJ93". In this configuration, it can successfully compile Reade's noModules.ML file, which contains all the library code Reade uses (in a format that avoids relying on the SML module system, which mosml doesn't support).

    Potentially Useful Links