gpt4 book ai didi

haskell - Haskell 中以下函数最通用的类​​型

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

g = (.not)

函数g最通用的类​​型是

g :: (Bool -> a) -> Bool -> a

但我不知道如何思考组合 (.) 函数。

为什么不是h::(a -> Bool) -> a -> Bool

最佳答案

g = (. not)

根据该部分的定义,相当于

g = \f -> f . not

或到

g f = f . not

由于 fnot 的输出作为输入,因此它必须接受 bool 值作为输入,因此它的类型必须为 Bool -> Something.

由此,我想你可以弄清楚剩下的事情了。

请注意,(. not)(.) not 非常不同,(.) not 可以写为 (not .) 的一部分。 (或者,作为 lambda,作为 \f -> 而不是 .f)。我想你的困惑就是源于此。

关于haskell - Haskell 中以下函数最通用的类​​型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59057340/

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