4
我已经定义的别名功能execState
:为什么我的错误注释此类签名不会破坏事物?
myCleverName = execState
GHC警告顶级没有注释类型签名绑定,所以我会写:
myCleverName :: State s a => s -> s
显而易见的大多数你是那个“胖箭头”=>
本应该是一个普通的骨感人->
。但我只注意到今天,但包含别名的模块和使用别名的代码都已经编译好几个星期了,而不是警告我使用了错误的语法。这是为什么?
谢谢!
我只是自己试了一下,并得到了以下错误 - “预期的约束,但'状态s'有种'*'在'myCleverName'的类型签名中:myCleverName :: State sa => s - > s ”。你确定不好的代码正在编译吗?你可以从程序中删除其他东西,直到你有最小的线条,仍然没有错误? – jamshidh 2014-09-27 20:25:25
有关的东西:http://stackoverflow.com/questions/23989573/replacing-in-place-of-in-function-type-signature – Sibi 2014-09-27 21:39:16