19.2 Built-in types and predefined exceptions

19.2.1. Built-in types
19.2.2. Predefined exceptions

以下の組み込みの型と定義済み例外はコンパイル環境で常に定義されていますが、これらはいかなるモジュールの要素でもありません。したがって、これらはここに挙げた名前でしか参照できません。

19.2.1 Built-in types

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 はフォーマットのパラメータの型、'dprintf 形式の関数の返り値の型、'b\%a\%t のプリント関数に最初に与えられる引数の型(Printf[] モジュールを見てください)、'c はこれらの関数の返り値の型です。

type 'a lazy_t

この型は Lazy[] モジュールの実装で使う型です。この型は直接使わないでください。

19.2.2 Predefined exceptions

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 を見てください)。引数はソースコード中の定義の位置です(ファイル名、行数、文字の位置)。