constraints-0.4.1.3: Constraint manipulation

Copyright(C) 2011-2013 Edward Kmett,
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellTrustworthy
LanguageHaskell2010

Data.Constraint.Forall

Description

This module uses a trick to provide quantification over constraints.

Synopsis

Documentation

type Forall p = (p A, p B) Source

A quantified constraint

inst :: forall p a. Forall p :- p a Source

instantiate a quantified constraint on kind *

type ForallF p f = (p (f A), p (f B)) Source

instF :: forall p f a. ForallF p f :- p (f a) Source

type Forall1 p = (p F, p M) Source

inst1 :: forall p f. Forall1 p :- p f Source

instantiate a quantified constraint on kind * -> *

type ForallT p t = (p (t F A), p (t M B)) Source

instT :: forall p t f a. ForallT p t :- p (t f a) Source