15-312 Principles of Programming Languages

Course Software

The implementation language in this course will be Standard ML. We assume you are already familiar with ML (15-212 is a prerequisite for this class), so we provide only a few potentially helpful links.

Running SML/NJ

On Suns and other Unix machines, you may run the CS installation of SML/NJ with


or simply as /usr/contributed/bin/sml-cm. Please be sure that your code runs with SML/NJ version 110.57, the current release.

Concurrent ML (CML)

See the CML home page for information on CML. In the Andrew environment, you can load it from sml with

    CM.autoload' "/usr/contributed/lib/smlnj/lib/cml.cm";

which defines the structure CML. You can see the components with open CML; or refer to the documentation or the examples. If you use the compilation manager, include cml.cm in sources.cm.

Using SML/NJ

Robert Harper
Last modified: Mon Dec 17 19:10:36 EST 2007

Valid XHTML 1.0!