| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Barbies.Constraints
Description
Support for operating on Barbie-types with constrained functions.
Instance dictionaries
is evidence that there exists an instance of Dict c ac a.
It is essentially equivalent to Dict (c a) from the
constraints package,
but because of its kind, it allows us to define things like .Dict Show
requiringDict :: (c a => r) -> Dict c a -> r Source #
Turn a constrained-function into an unconstrained one that uses the packed instance dictionary instead.
Getting constraints
class c (f a) => ClassF c f a Source #
ClassF has one universal instance that makes
equivalent to ClassF c f ac (f a). However, we have
'ClassF c f :: k -> Constraint
This is useful since it allows to define constraint-constructors like
ClassF Monoid Maybe
Instances
| c (f a) => ClassF (c :: k1 -> Constraint) (f :: k2 -> k1) (a :: k2) Source # | |
Defined in Barbies.Internal.Dicts | |
class c (f a) (g a) => ClassFG c f g a Source #
Like ClassF but for binary relations.
Instances
| c (f a) (g a) => ClassFG (c :: k1 -> k2 -> Constraint) (f :: k3 -> k1) (g :: k3 -> k2) (a :: k3) Source # | |
Defined in Barbies.Internal.Dicts | |