什么是(( - >)t)在haskell?

Pra*_*are 9 haskell notation

我正在进行20次中间Haskell练习.

完成前2次运动后,有一件奇怪的事情.

我想知道是什么((->) t)

-- Exercise 3
-- Relative Difficulty: 5
instance Fluffy ((->) t) where
  furry = error "todo"
Run Code Online (Sandbox Code Playgroud)

谢谢!:-)

Lee*_*Lee 4

(->)是具有 kind 的函数的类型构造函数* -> * -> *,因此它需要两个类型参数 - 函数的输入和结果类型。((->) t是此构造函数的部分应用程序,因此它是参数类型为tie (t -> a) 的函数(对于某些类型)a

如果将其替换为函数的类型,furry则会得到:

furry :: (a -> b) -> (t -> a) -> (t -> b)
Run Code Online (Sandbox Code Playgroud)