Safe Haskell | None |
---|---|
Language | Haskell2010 |
Helpers for working with type-level lists.
- type family RDelete r rs
- type family LAll c ts :: Constraint
- type family AllAre a ts :: Constraint
- type family HasInstances a cs :: Constraint
- type family AllHave cs as :: Constraint
Documentation
type family LAll c ts :: Constraint Source
A constraint on each element of a type-level list.
type family AllAre a ts :: Constraint Source
Constraint that every element of a promoted list is equal to a particular type. That is, the list of types is a single type repeated some number of times.
type family HasInstances a cs :: Constraint Source
Compound constraint that a type has an instance for each of a list of type classes.
HasInstances a [] = () | |
HasInstances a (c : cs) = (c a, HasInstances a cs) |
type family AllHave cs as :: Constraint Source
Compound constraint that all types have instances for each of a
list of type clasesses. AllHave classes types
.
AllHave cs [] = () | |
AllHave cs (a : as) = (HasInstances a cs, AllHave cs as) |