(式: OCaml 1.06 〜、パターン: OCaml 3.11 〜)
式 lazy expr は expr の計算をカプセル化した Lazy.t 型の値 v を返します。 expr はこの時点では評価されません。代わりに、 Lazy.force を v に適用したところで評価が行なわれ、 expr の実際の値が返ります。それ以降 v に Lazy.force を適用しても expr が再度評価されることはありません。 Lazy.force の適用はパターンマッチにより暗黙に行なわれることもあります。
パターン lazy pattern は Lazy.t 型の値 v で、 pattern が v に Lazy.force を適用したものにマッチするものにマッチします。 lazy を下位パターンとして持つパターンがマッチすると、 lazy パターンとマッチした部分の値が Lazy.force されます。これは、 lazy value-name や lazy _ のように、値に対するテストを行なわない場合でも同じです。下位パターンとして lazy パターンを含む pattern-matching に値をマッチさせた場合、最終的にマッチしたパターンに lazy パターンが含まれない場合でも、値の一部が暗黙に Lazy.force されることがあります。
より詳しくは、標準ライブラリの Lazy モジュールを参照してください。