我正在进行20次中间Haskell练习.
完成前2次运动后,有一件奇怪的事情.
我想知道是什么((->) t)?
-- Exercise 3
-- Relative Difficulty: 5
instance Fluffy ((->) t) where
furry = error "todo"
Run Code Online (Sandbox Code Playgroud)
谢谢!:-)
(->)是具有 kind 的函数的类型构造函数* -> * -> *,因此它需要两个类型参数 - 函数的输入和结果类型。((->) t是此构造函数的部分应用程序,因此它是参数类型为tie (t -> a) 的函数(对于某些类型)a。
如果将其替换为函数的类型,furry则会得到:
furry :: (a -> b) -> (t -> a) -> (t -> b)
Run Code Online (Sandbox Code Playgroud)