标签: haskell lazy-evaluation
我尝试使用Data.Map重新实现一个简单的增量函数。然而,渴望使我的程序挂起:
Data.Map
apply :: Num a => (a, a) -> (a, a) apply (a, b) = (a + 1, b + 1) inc :: Map Int Int inc = fromList (iterate apply (0, 1)) inc ! 1 -- program freezes...
我不明白冻结的原因?它为什么急切?