非正格評価
non-strict evaluation
引数が実際に使われるときのみ評価される
漸近的計算量の見積もりが難しい
いつ評価されるか、そもそも評価されるかなどの判断が難しい
償却データ構造
は書けるが
最悪時データ構造
は書けない
遅延評価
非性格な関数
引数が
Haskellの⊥型
でも、出力が
⊥
とは限らないもの
e.g. 以下のような関数
two
code:hs
two = const 2
two undefined
の結果は2になる