On Wednesday, 2002-10-16, 09:40, CEST, Simon Peyton-Jones wrote:
I want to define something like class (Eq (forall a. T a), Monad T) => C T where the context shall mean that T has to be an instance of Monad and that for every type a the type T a has to be an instance of Eq. Is such a thing possible with some Haskell implementation?
Not currently, but I think it makes sense, and I'll implement it if enough people ask.
Presumably you mean 'instance' not 'class'? A class decl always has a type variable after the =>; thus ...=> C a.
Hello again, I mean "class" but I have made a mistake in the code above: The uppercase T should be a lowercase t.
There aren't many type constructors T for which T a is an equality type...
I only wanted to illustrate what kind of construction I'd like to have by using standard Haskell classes. In my application I don't use Eq.
Simon
Wolfgang