I'm a little confused. Why is this allowed: > data Blah = Blah > > instance Eq Blah where > x == y = True
But not this: > class Stringable a where > toString :: a -> String > > instance Stringable [Char] where > toString = id (Resulting in:) > Illegal instance declaration for `Stringable [Char]' > (All instance types must be of the form (T a1 ... an) > where a1 ... an are distinct type *variables* > Use -XFlexibleInstances if you want to disable this.) > In the instance declaration for `Stringable [Char]' 'Blah' isn't a type variable, is it? Is my brain just not working right today? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe