你能用类型类开始函数定义吗?

And*_*yuk 7 haskell

在本教程的最底部,作者提供了一种函数类型:

(Num b) => length :: [a] -> b
Run Code Online (Sandbox Code Playgroud)

所以你可以看到它以类型类"Num b"开头(至少我认为是这样).但是当我尝试定义类似的东西时:

(Integral a) => lucky :: a -> String
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

输入`=>'解析错误

谁在这里错了?

Dan*_*her 12

该教程是错误的,类型类必须::在类型签名之后length :: Num b => [a] -> b.

语法在语言报告中指定,第10.5节上下文无关语法,相关产品是gendecl.

  • 我向Miran发送了一封关于拼写错误的电子邮件(通过http://learnyouahaskell.com/faq上列出的联系信息) (2认同)