我一直想知道为什么惰性评估有用。我还没有任何人以有意义的方式向我解释;大多数情况下,它最终变得沸腾以“信任我”。

注意:我不是指记忆。

最佳答案

主要是因为它可以提高效率-如果不使用值,则无需计算。例如,我可以将三个值传递给一个函数,但是根据条件表达式的顺序,实际上只能使用一个子集。在像C这样的语言中,无论如何都要计算所有三个值。但是在Haskell中,仅计算必要的值。

它还允许诸如无限列表之类的很酷的东西。我不能像C这样的语言拥有无限的列表,但是在Haskell中,这没问题。无限列表经常在某些数学 Realm 中使用,因此具有操纵它们的功能可能会很有用。

关于haskell - 为什么惰性评估有用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/265392/

10-11 15:41