SML# Document

Chapter 25. Standard ML Basis Library

SML# provide all the required libraries defined in Standard ML Basis Library specifications []. 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 [].

The following are the (top-level) signatures and structures provided by SML#.

Signature Name Structures that implements the signature section
ARRAY Array (25.1)
ARRAY_SLICE ArraySlice (25.2)
BIN_IO BinIO (25.3)
BOOL Bool (25.6)
BYTE Byte (25.7)
CHAR Char (25.8)
COMMAND_LINE Commandline (25.9)
DATE Date (25.10)
GENERAL General (25.11)
IEEE_REAL IEEEReal (25.12)
INTEGER Int, Int32, Int8, Int64, Position, LargeInt (25.14)
INT_INF IntInf (25.15)
IO IO (25.13)
LIST List (25.16)
LIST_PAIR ListPair (25.17)
MONO_ARRAY CharArray, Word8Array (25.18)
MONO_ARRAY_SLICE CharArraySlice, Word8ArraySlice (25.19)
MONO_VECTOR CharVector, Word8Vector (25.20)
MONO_VECTOR_SLICE CharVectorSlice, Word8VectorSlice (25.21)
OPTION Option (25.22)
OS Os (25.23)
PRIM_IO BinPrimIO, TextPrimIO (25.36)
REAL Real, Real32, Real64 (25.28)
STRING String (25.30)
STRING_CVT StringCvt (25.31)
SUBSTRING Substring (25.32)
TEXT Text (25.33)
TEXT_IO TextIO (25.34)
TIME Time (25.37)
TIMER Timer (25.38)
VECTOR Vector (25.39)
VECTOR_SLICE VectorSlice (25.40)
WORD Word, Word32, Word64, Word8, LargeWord (25.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"