Thanks! Learn something new every day. =) -Edward Kmett
On Wed, Nov 18, 2009 at 4:29 PM, David Menendez <[email protected]> wrote: > On Wed, Nov 18, 2009 at 4:12 PM, Edward Kmett <[email protected]> wrote: > > > > Qualified imports are some times problematic when you need to work with > > classes from the module. You can't define a member of two instances from > > different two modules that define classes with conflicting member names. > > This can lead to situations where you have no option but to have orphan > > instances. > > > > module Bar where > > class Foo a where > > foo :: a > > > > module Baz where > > class Quux a where > > foo :: a > > > > module Quaffle where > > import qualified Bar > > import qualified Baz > > > > instance Bar.Foo Int where > > Bar.foo = 1 > > -- ^- syntax error. > > > > instance Baz.Quux Int where > > Baz.foo = 2 > > > > I suppose this could possibly be fixed if something deep in the parser > > allowed a QName there. > > Try Quaffle without the qualifications. > > > module Quaffle where > > import qualified Bar > > import qualified Baz > > > > instance Bar.Foo Int where > > foo = 1 > > > > instance Baz.Quux Int where > > foo = 2 > > > -- > Dave Menendez <[email protected]> > <http://www.eyrie.org/~zednenem/ <http://www.eyrie.org/%7Ezednenem/>> >
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
