Penguin
Annotated edit history of SML version 8, including all changes. View license author blame.
Rev Author # Line
4 GlynWebster 1 "Standard [ML]". A really neat "mostly functional" programming language.
1 GianPerrone 2
8 GianPerrone 3 The language and standard library of SML are formally defined in the book [Definition of Standard ML| http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=3874]. This is unusually thorough. (There is a copy at the WaikatoUniversity library.) The [SML Basis Library | http://cm.bell-labs.com/cm/cs/what/smlnj/doc/basis/pages/sml-std-basis.html] (part of the standard) is said to be very well designed.
3 GianPerrone 4
4 GlynWebster 5 !!Literature
6
7 GianPerrone 7 [Why ''you'' want to program in ML | http://www.hprog.org/fhp/MlLanguage] - ML advocacy and information.
4 GlynWebster 8
9 http://www.cs.cmu.edu/~rwh/smlbook/ - Introductory text book.
8 GianPerrone 10
11 http://www.standardml.org/
4 GlynWebster 12
13 !!Implementations
14
8 GianPerrone 15 [Standard ML of New Jersey | http://cm.bell-labs.com/cm/cs/what/smlnj/] is one of the most widely used SML compilers. It generates fast, stable native binaries and runs on a number of platforms. SML/NJ is also nice in terms of giving helpful error information at compile time and being widely used. It has a nice interactive environment which allows you to easily tinker with things quickly (or use it as a desktop calculator if you are so inclined).
4 GlynWebster 16
8 GianPerrone 17 [MLton | http://www.mlton.org/ ] The best optimizing compiler for SML. It generates binaries which often run faster than those which gcc(1) produces for C++. It isn't as helpful as SML/NJ if you are new to SML, as its error messages are often slightly cryptic. The easy solution is to use SML/NJ whilst developing your program and then compiling any "release" version with MLTon.
7 GianPerrone 18
8 GianPerrone 19 [Moscow SML | http://www.dina.dk/~sestoft/mosml.html ] is a smaller, ByteCode interpreted SML implementation.
7 GianPerrone 20
8 GianPerrone 21 [MLKit | http://www.itu.dk/research/mlkit/ ] Another implementation - It's probably best to just stick with MLTon or SML/NJ unless you're interested in the "memory regions" aspect of the MLKit implementation.
6 GerwinVanDeSteeg 22
23 -----
24 CategoryProgrammingLanguages