プログラミング言語SML#解説 3.7.1版
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"