SML# Document Version 4.0.0
III Reference manual

Chapter 27 SML# System Library

In addition to Standard ML Basis Library, SML# provides its own libraries for exploiting SML# language features. Being SML# specific libraries, they are directly provided through interface files (smi files) without signature specification. The are organized into library interface files (smi files), which are referenced by file name (librarySmiFilePath) without specifying file paths (smiFilePath).

The current version provide the following.

Library name structure name (section)
"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)

These libraries may be referred by the compiler to realize the SML# extensions. To use the following SML# extensions in separate compilation mode, you must _require the following libraries from your interface file:

  • To use SQL expressions, you must _require "sql.smi".

  • To call a polymorphic function with #reify kind, you must _require "reify.smi".