gpt4 book ai didi

haskell - ((->) r) 在实例 Applicative ((->) r) 中意味着什么?

转载 作者:行者123 更新时间:2023-12-02 15:58:16 25 4
gpt4 key购买 nike

instance Applicative ((->) r) where

这是 Haskell 中函数的 Applicative 类型类的实现。我不太明白 ((->) r) 以及如何阅读它。

我认为这意味着它是一个接受一个参数并返回任何内容的函数(另一个柯里化(Currying)函数,一个字符串),但我不确定这是对的。那不是 (r ->)

最佳答案

这里,->是类型级运算符;它接受两种类型并返回一个新类型(函数类型)。在 ((->) r 中,它是部分应用的,因此您可以将其视为一个类型级函数,它采用一种类型 a 并返回该函数的类型接受一个 r 并返回一个 a

((->) r) a == (->) r a  -- function application is left-associative
== r -> a -- switch to infix notation

可以(r ->),但Haskell不支持类型级部分。 (而且我不认为有 GHC 扩展来启用此类支持。)

实际上没有一种好的方法来阅读它,因为它存在于一个抽象层次上,而这种抽象层次还没有被广泛讨论到值得用自然语言描述的程度。

关于haskell - ((->) r) 在实例 Applicative ((->) r) 中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53904514/

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