以下の組み込みの型と定義済み例外はコンパイル環境で常に定義されていますが、これらはいかなるモジュールの要素でもありません。したがって、これらはここに挙げた名前でしか参照できません。
type int
整数型。
type char
文字型。
type string
文字列型。
type float
浮動小数点数型。
type bool = false | true
真偽値型。
type unit = ()
ユニット値の型。
type exn
例外値の型。
type 'a array
'a
型の要素を持つ配列の型。
type 'a list = [] | :: of 'a * 'a list
'a
型の要素を持つリストの型。
type 'a option = None | Some of 'a
'a
型の値を持つオプション型。
type int32
符号付き32ビットの整数型。Int32[] モジュールを見てください。
type int64
符号付き64ビットの整数型。Int64[] モジュールを見てください。
type nativeint
符号付きの、プラットフォームネイティブな整数型(32ビットプロセッサでは32ビット、64ビットプロセッサでは64ビット)。Nativeint[] モジュールを見てください。
type ('a, 'b, 'c, 'd) format4
フォーマット文字列型。'a
はフォーマットのパラメータの型、'd
は printf
形式の関数の返り値の型、'b
は \%a
と \%t
のプリント関数に最初に与えられる引数の型(Printf[] モジュールを見てください)、'c
はこれらの関数の返り値の型です。
type 'a lazy_t
この型は Lazy[] モジュールの実装で使う型です。この型は直接使わないでください。
exception Match_failure of (string * int * int)
パターンマッチで該当するケースがなかった時発生する例外です。引数はソースコード中のパターンマッチの位置です (ファイル名、行数、文字の位置) 。
exception Assert_failure of (string * int * int)
表明に失敗したとき発生する例外です。引数はソースコード中での assert
キーワードの位置です (ファイル名、行数、文字の位置) 。
exception Invalid_argument of string
ライブラリ関数が、与えられた引数が意味をなさないことを知らせるために発生する例外です。
exception Failure of string
ライブラリ関数が、与えられた引数に対して未定義であることを知らせるために発生する例外です。
exception Not_found
検索関数が、要求されたオブジェクトを見つけられないときに発生する例外です。
exception Out_of_memory
実行を行うのに十分なメモリがなかったとき、ガベージコレクタが発生する例外です。
exception Stack_overflow
評価スタックが最大サイズに至ったときに、バイトコードインタプリタが発生する例外です。 これはよくプログラムで無限再帰や極端に深い再帰を行ったときに発生します (ネイティブコードコンパイラでは、完全には実装されていません。11.5 を見てください) 。
exception Sys_error of string
入出力関数で OS エラーが起きたときに発生する例外です。
exception End_of_file
入力関数がファイル終端に至ったことを伝えるために発生する例外です。
exception Division_by_zero
除数に 0 をとって除算や剰余を行ったときに発生する例外です (ネイティブコードコンパイラでは、完全には実装されていません。セクション 11.5 を見てください) 。
exception Sys_blocked_io
Sys_error
の特別な場合です。I/O が非同期 I/O チャンネルで使えなかったときに発生します。
exception Undefined_recursive_module of (string * int * int)
正当な理由のない再帰的なモジュール定義が評価されたときに発生する例外です(セクション 7.9 を見てください)。引数はソースコード中の定義の位置です(ファイル名、行数、文字の位置)。