質問

私は型クラスの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を実行していると、まだエラーを取得しています。アム私はここで何かを誤解?

役に立ちましたか?

解決

あなたはインスタンス宣言(参照はHaskell 98レポート内A.を必要としません。 §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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top