gpt4 book ai didi

haskell - 匿名函数概念理解

转载 作者:行者123 更新时间:2023-12-02 11:05:46 25 4
gpt4 key购买 nike

我正在尝试学习和理解 Haskell 的设计。我目前正在使用 Lambda/匿名函数,我想知道。

为什么函数类型不是 Eq 类的实例?

Prelude> (\z -> z + 5) == (+5)

关于这个问题,我想知道是否因为 z 可以是任何东西,甚至可以是所有 lambda 函数中的自由变量,所以将 lambda 函数设为 Eq 类型将是一个设计缺陷。

为什么函数类型不是类型类 Show 的实例?

Prelude> (\q -> q - 2)

感谢您的任何澄清。

非常感谢!

最佳答案

这些功能相同还是不同:

dbl1 :: Int -> Int
dbl1 x = x + x

dbl2 :: Int -> Int
dlb2 x = 2 * x

对于某些函数,编译器很“容易”看到它们包含相同的逻辑。但大多数功能都很难比较。还有一些逻辑上不同但行为相同的函数 - 就像上面的 dbl1 和 dbl2 一样。因此,您必须做出选择,要么根据每个可能的值来测试它们,要么决定它们不相等。前者在大多数情况下是完全不切实际的。后者绝对是不可取的或直观的。现在,考虑到问题已经太难解决了,那就抛出IO...

关于haskell - 匿名函数概念理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15835772/

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