在函数类型签名中替换=>代替 - >

Sib*_*ibi 9 haskell

我只是观察到,如果不是->,我写入=>函数的类型签名定义,它不会导致编译时错误.示例代码:

mysum :: Num a => [a] => a -- Notice => after the list [a]
mysum [] = 0
mysum (x:xs) = x + mysum xs
Run Code Online (Sandbox Code Playgroud)

为什么会这样?有没有办法避免这种情况?

编译使用:GHC 7.6.2

更新:在ideone中成功编译.

Dom*_*ese 11

这是GHC 7.6.2中的错误.您应该在最新的编译器中尝试它,如果它仍然没有给出错误,那么您应该提交错误报告.

实际上,我认为这个bug已经在GHC 7.8中已知并修复.