はじめての遅延評価

-- 1から始まる無限リストから先頭5個を取り出す
main = print $ take 5 (ints 1)

-- nから始まる無限リストを作成
ints n = n : (ints (n + 1))


{- 結果
[1,2,3,4,5]
-}


遅延評価いいなー

C++ に lazy ください