instance Applicative ((->) r) where
这是Haskell中某个函数的Applicative类型类的实现。我不太了解((->) r)
和如何阅读它。
我认为这意味着它是一个带有一个参数并返回任何值的函数(另一个咖喱函数,一个String),但是我不确定那是正确的。那不是(r->)
答案 0 :(得分:8)
这里,->
是类型级别的运算符;它有两种类型,并返回一个新类型(函数类型)。在((->) r
中,它是部分应用的,因此您可以将其视为采用一种类型a
并返回采用r
并返回{ {1}}。
a
您可以可以说((->) r) a == (->) r a -- function application is left-associative
== r -> a -- switch to infix notation
,只是Haskell不支持类型级部分。 (而且我不认为会存在GHC扩展来启用这种支持。)
真正没有一种好方法来读取它,因为它存在于抽象层次上,没有被充分讨论以值得自然语言描述。
答案 1 :(得分:0)