【发布时间】:2014-05-09 17:18:24
【问题描述】:
我刚刚学习 Haskell,我仍然不完全清楚何时以及如何强制执行严格的评估
当我想要一个函数严格评估它的参数时,我发现自己在写作
((f $! x) $! y ) $! z
这看起来很奇怪。不应该$!是左联想的,所以我可以写
f $! x $! y $! z
让它做我想做的事?
我完全误解了$!运营商?
【问题讨论】:
-
为什么不直接写一个函数
!$与$!的反向固定来做你想要的? -
问题是为什么这个函数还没有这样定义。我想知道我这样写的愿望是否反映了对 Haskell 工作原理的误解。
-
如果你只是在学习 Haskell,我认为你不应该搞乱严格的应用程序。很少需要。
标签: haskell lazy-evaluation associativity