プログラミング言語SML#解説 4.0.0版
Chapter 26 Standard ML標準ライブラリ
SML#は,Standard ML Basis Library [2]で定義 されている必須のストラクチャを標準で提供している. これらすべてのストラクチャには,公式のシグネチャが定義されている. そこで本節では,これら公式シグネチャを定義し,各シグネチャ定義に 続き,そのシグネチャを実装するストラクチャを,必要な型の定義とともに示す. 本節で説明する各関数の操作仕様の詳細な情報は,Standard ML Basis Library [2]を参照せよ.
SML#が提供する(トップレベルの)シグネチャとストラクチャ は以下の通りである.
| シグネチャ名 | シグネチャを実装するストラクチャ | 節 | 
|---|---|---|
| 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) | 
これらすべてのライブラリのインターフェースファイルは,階層的にま とめられ,ライブラリインタフェイスファイルbasis.smiにまと められている. 従って,以下の_require宣言を,ソースプログラムのインタフェ イスファイルに書けば,そのソースプログラムの中で,シStandard ML標準ライブ ラリのすべてのストラクチャとシグネチャが使用可能となる.
_require "basis.smi"