我有这段代码:
divideByTen :: (Floating a ) => a -> a
divideByTen = (/10)
如果我把它放入.hs文件中。似乎这还不够。
(我在Mac osx上使用ghci)。
谢谢。
我做了之后:加载 * *。hs
我收到了这个错误
byby.hs:1:17:
Class `Floating' used as a type
In the type signature for `divideByTen':
divideByTen :: (Floating a) a -> a
Failed, modules loaded: none.
答案 0 :(得分:5)
问题是箭头=>
似乎在某个地方被删除了,因为在GHC喷出的错误消息中为divideByTen
提供的类型签名中没有此箭头证明了这一点。
确保.hs文件的内容与您上面提供的代码段完全匹配,并且应该没问题。
答案 1 :(得分:5)
您在代码切片中显示的方式很好,但您的错误清楚地表明您在类型签名中缺少=>
。
将来请复制/粘贴您的代码。如果您这样做,那么您的编辑器可能已将=>
转换为Unicode或其他转换。
答案 2 :(得分:2)
如上所述,您的代码适合我。
您使用的是可能对源代码进行奇怪转换的ide吗?转到命令行并转储文件的内容以进行检查。
线条是如何缩进的?你的文件中还有其他代码吗?空格可以改变在Haskell中解析行的方式。