gpt4 book ai didi

haskell - Lambda 函数的矛盾行为

转载 作者:行者123 更新时间:2023-12-03 10:15:01 24 4
gpt4 key购买 nike

使用以下定义:

lenDigits n = length (show n)
factorial n = product [1..n]

我评估以下
Prelude> ((lenDigits . factorial) 199) <= 199
False
Prelude> (\i -> ((lenDigits . factorial) i) <= i) 199
True

这种行为的原因是什么?如我所见,第一个表达式与第二个表达式相同,但减少了 lambda。

最佳答案

因为在第一个表达式中,第一个 199有类型 Integer第二个有 Int .但在第二个表达式中,两者都有类型 Intfactorial 199不能用 Int 类型表示.

关于haskell - Lambda 函数的矛盾行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41044436/

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