Standard ML Family GitHub Project

This is the web page for the Standard ML Family GitHub project (organization name: SMLFamily). This site is very much "under construction", and it replaces the earlier SourceForge web site for standardml.org (which now redirects to this page). Contributions, corrections, and suggestions for additional information are very much welcomed.

Project Description

The Standard ML Family project provides a home for online versions of various formal definitions of Standard ML, including the "Definition of Standard ML, Revised" (Standard ML 97). The site also supports coordination between different implementations of the Standard ML (SML) programming language by maintaining common resources such as the documentation for the Standard ML Basis Library and standard test suites. The goal is to increase compatibility and resource sharing between Standard ML implementations.

The site includes a history section devoted to the history of ML, and of Standard ML in particular. This section will contain a collection of original source documents relating to the design of the language.

Definitions of Standard ML

With the permission of MIT Press, we are able to make The Definition of Standard ML (SML '90) and The Definition of Standard ML, Revised (SML '97) available for downloading as pdf files. These are (currently) formatted for US letter page size. Printed copies of the SML '97 definition are available from MIT Press.

The SML '90 definition is complete, including the index, but we are still working on recreating the index for the SML '97 definition.

The sources to the two editions of The Definition are available on GitHub as follows: The Standard ML Basis Library: Claudio Russo's Non-Standard ML is available on GitHub at Non-Standard ML.

The Concrete Syntax of Standard ML:

Some valuable critiques of The Definitions: Machine-checked meta-theory of Standard ML: Language design critiques and reviews: Both of these design critiques are somewhat outdated because they predate the revised Definition.

Mailing lists

The SourceForge project hosts two mailing lists relating to Standard ML. Visit the info page for a list to subscribe.
Name: sml-implementers
Address: sml-implementers@lists.sourceforge.net
Info: http://lists.sourceforge.net/mailman/listinfo/sml-implementers
Subscribers: http://lists.sourceforge.net/lists/roster/sml-implementers

Name: sml-list
Address: sml-list@lists.sourceforge.net
Info: http://lists.sourceforge.net/mailman/listinfo/sml-list
Subscribers: http://lists.sourceforge.net/lists/roster/sml-list

Successor ML

Recently discussions of improvements and extensions of the Standard ML design have resumed, under the working title "Successor ML". This project includes a subsidiary site Successor ML devoted to this ongoing work. Earlier discussions on the successor-ml.org wiki are available there, and a new wiki has been started for future discussions.

Implementations, Extensions, and Variations of Standard ML

Standard ML smackage repository

The Standard ML Smackage repository is a resource of community contributed code.

Standard ML History

The Standard ML History pages are the beginnings of a collection of documents related to the history of the development of Standard ML. This subsite is in the early stages of development, and contributions or suggestions are welcome.

Close Cousins of the SML Family

Other relevant links



Dave MacQueen
Last modified: Mon Sep 7 17:22:16 PDT 2015