> one should be able to define two instances having the same signature, as 
> long as they are in different namespaces
[snip]
> But now, ghc complains about two instances of Foo Integer, although 
> there should be none in the namespace main.

It's a Haskell problem, not a ghc one.

Class instances are not constrained by module boundaries.
Other people have found this to be a problem,
e.g. in combination with tools like Strafunski - you just
cannot encapsulate a class instance in a module.

It's a design flaw in Haskell.

> I have not found any documentation on why ghc behaves like this and 
> whether this conforms to the haskell language specification.
> Is there any haskell compiler out there that is able to compile the 
> above example?

I think Clean (a very similar language) permits to limit the scope
of class instances.

Stefan
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to