Haskell 如何理解;(数字b)=>;长度::[a]->;b";在哈斯克尔?

Haskell 如何理解;(数字b)=>;长度::[a]->;b";在哈斯克尔?,haskell,Haskell,我正在阅读,遇到了以下单词: 例如,length函数的类型声明为length::[a]->Int,而不是更一般的(Num b)=>length::[a]->b 如何理解这里的“(Num b)=>长度::[a]->b”?是不是应该是“length::(Num b)=>[a]->b”?你是对的:这是本书中的一个错误,应该按照你的建议阅读

我正在阅读,遇到了以下单词:

例如,length函数的类型声明为length::[a]->Int,而不是更一般的(Num b)=>length::[a]->b


如何理解这里的“
(Num b)=>长度::[a]->b
”?是不是应该是“
length::(Num b)=>[a]->b
”?

你是对的:这是本书中的一个错误,应该按照你的建议阅读