a - > b Bool在Haskell中的含义是什么?

Cat*_*way 0 haskell

我知道那种类型:

a -> Bool
Run Code Online (Sandbox Code Playgroud)

是一个函数,它接受类型a的输入并输出一个布尔值.

什么类型:

a -> b Bool
Run Code Online (Sandbox Code Playgroud)

意思?

sep*_*p2k 7

In b Bool,b表示参数化类型,它采用一个类型参数(在Haskell用语中,b是类型的类型构造函数* -> *),例如Maybe,IO[].

所以类型的功能,a -> b Bool例如可以采取Int与生产Maybe Bool,IO Bool,[Bool]等.

  • @ThomasM.DuBuisson在类型错误消息的上下文中,虽然不适用.当编译器说它期望类型`a - > b Bool`并不意味着该函数确实需要具有那种确切的类型时 - 你可以给它一个函数`Int - > Maybe Bool`并且它将被满足. (3认同)