Resources
Standard ML
- Implementations
- Standard ML of New Jersey (SML/NJ) — used for course project
- MLton — used for course project
- MLKit
- PolyML
- Books
- ML for the Working Programmer, Lawrence Paulson
- Elements of ML Programming, Jeffrey Ullman
- The Definition of Standard ML (Revised), Robin Milner, Mads Tofte, Robert Harper, and David MacQueen — not for the faint of heart!
- Tutorials
- Standard ML Tutorial — slides from class
- Programming in Standard ML, Bob Harper
- Notes on Programming SML/NJ, Riccardo Pucella
- A Gentle Introduction to ML, Andrew Cumming
- Programming in Standard ML '97: An On-line Tutorial, Stephen Gilmore
- Libraries
- Standard ML Basis Library — use $/basis.cm in CM files; use $(SML_LIB)/basis/basis.mlb in MLB files
- SML/NJ Library — use $/smlnj-lib.cm in CM files; use $(SML_LIB)/smlnj-lib/Util/smlnj-lib.mlb in MLB files
- Tools
- ml-ulex and ml-antlr: (pdf) — use $/ml-lpt-lib.cm in CM files; use $(SML_LIB)/mllpt-lib/mllpt-lib.mlb in MLB files
- ml-lex: (pdf) (html)
- ml-yacc: (pdf) (html) — use $/ml-yacc-lib.cm in CM files; use $(SML_LIB)/mlyacc-lib/mlyacc-lib.mlb in MLB files
- Compilation Manager (CM): (pdf)
- ML Basis (MLB): (html)
- Coding standards
- Style Guide — these are useful (and common) conventions among SML programmers, but the are not required for submitted code
Subversion