(non-strict)
引数を必要になるまで評価しない(call-by-need)
ような言語の性質。
HaskellやConcurrent Clean等がその例。
例えば
bottom = bottom
f x = 3
のとき
bottomは_|_(停止しない式)であり
正格言語であれば f botを評価しようとすると
無限ループに陥り、f botもまた_|_になるが
Haskellではbottomは必要が無いので評価されず
評価は停止し3が返される。
(例はやさしいHaskell入門より)