Link to Home

If this page looks abnormally plain, you should consider upgrading to a standards-compliant browser.

Links to other sections of this site appear at the bottom of the page.

Resources

Here are some links to various resources on the Web that you might find useful. These include links to background material, news sites, and sites where you can learn about specific products.

Please contribute links to sites you may know about so that everyone can benefit from everyone else's knowledge and experience.

Standard ML

Running Standard ML

Generally the class will assume you are using a recent version of the Standard ML of New Jersey compiler, a free compiler developed at Bell Labs (the current version is 110.55). You can run ML on turing using the command sml, but if you'd rather use your own computer, you can download it for most operating systems, including Windows and Linux.

The CS 131 guide to using SML/NJ contains some very useful information on the mechanics of running the compiler, using it with emacs, and (perhaps most importantly) interpreting error messages.

Because SML has an official definition, there are several other good, freely-available compilers available for the language that you may use instead, including Moscow ML (for many operating systems; it can also be run on turing via the command mosml), Poly/ML (for many operating systems) and MLton (for x86 machines). Each implementation has its own advantages.

Learning Standard ML

If you've done some SML programming in the past, the shortest way to get up to speed may be to read through the SML Overview for CS 131. This is meant to summarize the minimum knowledge about SML needed to do the programming for this class. As such, it is very condensed; if you find it too compressed then you might want to look elsewhere:

Documentation for the Standard ML Basis (i.e., the standard library) is available on-line. Particularly useful are the modules Int, Real, String, and List, but there are many others as well.




Return to Top of Page