在Haskell中使用Data.Map实现inc函数

时间:2017-04-13 23:16:52

标签: haskell lazy-evaluation

我尝试使用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...

我不明白冻结的原因?它为什么急切?

0 个答案:

没有答案