プログラミング言語SML#解説 3.7.1版
Chapter 27 SML#システムライブラリ
SML#は,Standard ML標準ライブラリに加えて,SML#が提供する 機能を使いこなすためのSML#ライブラリを提供している. これらライブラリは,SML#固有のライブラリであるため,シグネチャは定義せず, 直接インタフェイスファイルを通じて提供される. これらライブラリを構成するストラクチャは,ライブラリインタフェイ スファイル名(librarySmiFilePath)で参照可能なように種類毎に分 類され,smiファイルが定義されている.
現在の版で提供しているライブラリは以下の通りである.
ライブラリ名 | ストラクチャ名 (節) |
---|---|
"ffi.smi" | DynamicLink (27.1) |
Pointer (27.2) | |
"sql.smi" | SQL (27.3) |
SQL.Op (27.4) | |
SQL.Numeric (27.5) | |
"thread.smi" | Pthread (27.6) |
Myth (27.7) | |
"reify.smi" | Dynamic (27.8) |
これらのライブラリは,SML#の拡張機能を実現するために コンパイラから参照されることがある. 分割コンパイルモードで以下のSML#拡張機能を用いる場合は, たとえライブラリ関数を使用していなかったとしても, インターフェースファイルから以下のライブラリを_requireしなければ ならない.
-
•
SQL構文を用いる場合,"sql.smi"を_requireしなければ ならない.
-
•
#reifyカインド付きの多相関数を呼び出す場合, "reify.smi"を_requireしなければならない.