【发布时间】:2017-01-31 09:27:26
【问题描述】:
因此,Haskell seq 函数强制评估它的第一个参数并返回第二个参数。因此它是一个中缀运算符。如果你想强制评估一个表达式,直觉上这样的特性将是一个一元运算符。所以,而不是
seq :: a -> b -> b
应该是
seq :: a -> a
因此,如果你想要的值是a,为什么要返回b,你如何构造返回b。显然,我不是在考虑 Haskell。 :)
【问题讨论】:
-
如果您查看(very poorly formatted) definition of
foldl',您会发现您通常只想严格评估您输入b值的a中的一些let-bound 变量。
标签: haskell strictness