G'day all.
I have a large number of functions all of which use the same set
of type constraints, such as:
> foo :: (Monad m, Ord t, Show t) => ...
Ideally, I'd like to combine them into one typeclass. At the moment,
I'm using the equivalent of:
> class (Monad m, Ord t, Show t) => Constraints m t where { }
> instance (Monad m, Ord t, Show t) => Constraints m t where { }
> foo :: (Constraints m t) => ...
This requires undecidable instances. Is there a way to do this that
doesn't require non-98 features apart from multi-parameter type
classes?
If not, is there an argument for a language construction which supports
this idiom, analogous to type synonyms, except for type classes?
Cheers,
Andrew Bromage
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe