gpt4 book ai didi

haskell - "where"关键字是懒惰的吗?

转载 作者:行者123 更新时间:2023-12-02 10:31:35 25 4
gpt4 key购买 nike

假设我有一个类似的函数

foo = 8 + f1
where f1 = 8 + 9
f2 = 8 + 10

f1 显然必须进行评估,但 f2 则不必进行评估。会是这样吗?我可以看到评估每个 where 表达式将如何成为一个性能问题。

最佳答案

是的,它是惰性的,因此 f2 不会被计算,例如:

foo = 8 + f1
where f1 = 8 + 9
f2 = last [1..]

会立即计算,如果严格的话会花费很长时间。

关于haskell - "where"关键字是懒惰的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31090119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com