No deep inheritance?  Then what's the problem?

module X where
class Foo a where foo :: a -> String

module Y where
class Foo' a where foo :: a -> String

module Main where
import qualified X
import qualified Y

instance X.Foo Int where foo _ = "X"
instance Y.Foo' Int where foo _ = "Y"

It is known that the first foo is referring to X.foo, and the second is referring to Y.foo.

In fact... come to think of it, there are actually no namespace problems.  The instance syntax is just a little quirky, since you don't qualify the LHS, even if the name is only imported qualified.

Or is that not what you're referring to?

Luke

On Thu, Dec 4, 2008 at 5:43 PM, Jason Dusek <jason.dusek@gmail.com> wrote:
 It's not that I like to have a lot of methods in a class, but
 rather a lot of classes.

--
_jsn