One essential for the success of a general-purpose language is an accompanying standard library that is rich enough and efficient enough to support the basic, day-to-day tasks common to all programming. Libraries provide the vocabulary with which a language can be used to say something about something. Without a broad common vocabulary, a language community cannot prosper as it might.
The SML language, with its clean lines and secure foundation, has much to recommend it, and has acquired a healthy user community. However, the lack of a broad standard library has hindered its usefulness, especially in systems programming, where there are those who feel it could be an attractive alternative to the de facto standard systems languages, C and C++.
This document presents a proposal for such a standard library for SML. Chapters 1 and 2 provide an overview of the proposed library at the level of modules and top-level identifiers. Here we also present the principles and conventions that guided the design of the library. The remaining chapters provide fairly detailed manual pages describing the signatures, structures and functors specified by the library, and their semantics. The appendices include the specifications for various optional subsystems that should be used in any implementations providing these features.
During the design of the library, the authors of the SML language have revised its definition [CITE], partly in response to the needs of the library. The final appendix describes some of the changes that have taken place in the SML language, especially in relation to the library, and also notes where the library differs from the initial basis described in the original SML definition.
This document is the result of a collaboration of many members of the Standard ML community:
|Andrew W. Appel||Princeton University|
|Emden R. Gansner||AT&T Laboratories|
|Lal George||Bell Laboratories|
|Lorenz Huelsbergen||Bell Laboratories|
|Dave MacQueen||Bell Laboratories|
|Carsten Müller||Humboldt University, Berlin|
|John H. Reppy||Bell Laboratories|
|Peter Sestoft||Royal Veterinary and Agricultural University, Denmark|
Last Modified February 20, 1997
Comments to John Reppy.
Copyright © 1997 Bell Labs, Lucent Technologies