Chapter 26 Standard ML Basis Library
SML# provide all the required libraries defined in Standard ML Basis Library specifications [2]. All the structures have signature specifications. In the following sections, we first define the formal signatures. For each signature specification, we define the set of structures that implement the signature with additional type information. The details of the semantics of functions, we refer the reader to the specification of the Standard ML Basis Library [2].
The following are the (top-level) signatures and structures provided by SML#.
Signature Name | Structures that implements the signature | section |
---|---|---|
ARRAY | Array | (26.1) |
ARRAY_SLICE | ArraySlice | (26.2) |
BIN_IO | BinIO | (26.3) |
BOOL | Bool | (26.6) |
BYTE | Byte | (26.7) |
CHAR | Char | (26.8) |
COMMAND_LINE | Commandline | (26.9) |
DATE | Date | (26.10) |
GENERAL | General | (26.11) |
IEEE_REAL | IEEEReal | (26.12) |
INTEGER | Int, Int64, Int32, Int16, Int8, Position, LargeInt | (26.14) |
INT_INF | IntInf | (26.15) |
IO | IO | (26.13) |
LIST | List | (26.16) |
LIST_PAIR | ListPair | (26.17) |
MONO_ARRAY | CharArray, Word8Array | (26.18) |
MONO_ARRAY_SLICE | CharArraySlice, Word8ArraySlice | (26.19) |
MONO_VECTOR | CharVector, Word8Vector | (26.20) |
MONO_VECTOR_SLICE | CharVectorSlice, Word8VectorSlice | (26.21) |
OPTION | Option | (26.22) |
OS | Os | (26.23) |
PRIM_IO | BinPrimIO, TextPrimIO | (26.36) |
REAL | Real, Real32, Real64 | (26.28) |
STRING | String | (26.30) |
STRING_CVT | StringCvt | (26.31) |
SUBSTRING | Substring | (26.32) |
TEXT | Text | (26.33) |
TEXT_IO | TextIO | (26.34) |
TIME | Time | (26.37) |
TIMER | Timer | (26.38) |
VECTOR | Vector | (26.39) |
VECTOR_SLICE | VectorSlice | (26.40) |
WORD | Word, Word64, Word32, Word16, Word8, LargeWord | (26.41) |
The set of interface files of all the structures in the basis library described in this chapter are hierarchically organized and are included in the interface file basis.smi. Writing the following declaration in an interface file of a source file makes all the basis library structures and signatures available to the source program.
_require "basis.smi"