> Simon Peyton-Jones wrote: > > derive( Typeable (T a) ) > > > >But that means adding 'derive' as a keyword. Other possibilities: > > > > deriving( Typeable (T a) ) > > -- (B) Re-use 'deriving' keyword > > > >The trouble with (B) is that the thing inside the parens is different in > >this situation than in a data type declaration. > >Any other ideas? > > instance Typeable (T a) deriving
Why not even simply instance Typeable (T a) In other words, derivable classes define default implementations for all their methods. Advantages: (1) no syntax change at all required (2) derived class instances can be partially redefined by the user Disadvantages: (1) Slightly more work in some cases because a complete instance declaration is required. Example: instance Eq a => Eq (T a) Cheers, Andres _______________________________________________ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users