プログラミング言語SML#解説 3.7.1版
III 参照マニュアル

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しなければならない.