Existential quantification

Tom Pledger Tom.Pledger@peace.com
Thu, 22 Feb 2001 09:01:10 +1300

George Russell writes:
 | Excuse me, but is it a bug or a feature that Hugs (98-Feb2001), with 
 | the -98 option, rejects:
 | data G b = forall a . H a b =>  G a b
 | class H a b where
 | with "Variable "b" in constraint is not locally bound"?

What do you intend for the type of G?

    G :: H a b => a -> b -> G b

...but where does the "forall a" go?

Apart from the lack of a functional dependency in the H decl, this
looks like a recent thread on the main Haskell list, subject "Fundeps
and quantified constructors".

The original question:

The realisation that GHC permitted it: