[Haskell] Quantified class constraints (& back-chaining)
Stefan O'Rear
stefanor at cox.net
Wed Aug 1 20:57:32 EDT 2007
On Wed, Aug 01, 2007 at 05:29:19PM -0700, Conal Elliott wrote:
> Sadly, this solution runs into the problem of instance selection based only
> on head-matching, not back-chaining into constraints. For instance, I'd
> like also to use the following "conflicting" declaration.
>
> instance (Applicative f, Monoid a) => Monoid (f a) where
> mempty = pure mempty
> mappend = liftA2 mappend
No quotes - [] is both Applicative and Monoid. Should [String]
["ab","cd"] `mappend` ["ef","gh"] give ["ab","cd","ef","gh"] or
["abef","abgh","cdef","cdgh"]?
> What's the state of thinking & doing with regard to universally quantified
> class constraints?
>
> Note that hereditary Harrop formulas do include universally quantified
> goals. Less ambitiously, I think GHC's type-checker already deals with
> universally-quantified variables, so perhaps quantified constraints are not
> a great reach (just guessing).
It's something I've wanted... Got a link for hereditary Harrop formulas
so I can add them to my to-implement-when-Qhc-is-good-enough list?
Google isn't telling me much about them except how to add support for
constaints, which isn't terribly helpful.
Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.haskell.org/pipermail/haskell/attachments/20070801/0410c559/attachment.bin
More information about the Haskell
mailing list