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