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:
    http://www.mail-archive.com/haskell@haskell.org/msg07982.html

The realisation that GHC permitted it:
    http://www.mail-archive.com/haskell@haskell.org/msg08036.html

Regards,
Tom