GHC理解错误“在装订位置合格的名字”
-
26-09-2019 - |
题
如果我创建模块AModule
与类型类Foo
,
module AModule where
class Foo a where
bar :: a
和在另一模块BModule
进口AModule
合格,并设法使某些类型Foo
的一个实例,即
module B where
import qualified AModule as A
instance A.Foo Int where
A.bar = 0
GHC告诉我 “合格名字在装订位置:A.bar”。
据我了解,这是关系到 GHC票3197 ,该为固定被标记。我运行GHC 6.12.1和我仍然得到错误。我只是误解的东西在这里?
解决方案
您不需要实例声明内A.
(见的Haskell 98报告§4.3.2)。
在6.12.3以下编译:
instance A.Foo Int where -- # A. here
bar = 0 -- # no A. here
main = print (A.bar :: Int) -- # A. here
不隶属于 StackOverflow