Safe Haskell | None |
---|---|
Language | Haskell2010 |
List utilities at the type-level.
- type family Index xs x where ...
- type family xs ++ ys where ...
- type family Concat (xs :: [[k]]) :: [k] where ...
- type family Concat_Constraints (cs :: [Constraint]) :: Constraint where ...
- type family DeleteAll (x :: k) (xs :: [k]) :: [k] where ...
- type family Head (xs :: [k]) :: k where ...
- type family Tail (xs :: [k]) :: [k] where ...
- type family Nub (xs :: [k]) :: [k] where ...
- data Len xs where
- addLen :: Len a -> Len b -> Len (a ++ b)
- shiftLen :: forall t b a. Len a -> Len (a ++ b) -> Len (a ++ (t ': b))
- intLen :: Len xs -> Int
- class LenInj vs where
Type Index
type family Index xs x where ... Source #
Return the position of a type within a list of them.
This is useful to work around OverlappingInstances
.
Type family (++)
Type family Concat
Type family Concat_Constraints
type family Concat_Constraints (cs :: [Constraint]) :: Constraint where ... Source #
Concat_Constraints '[] = () | |
Concat_Constraints (c ': cs) = (c, Concat_Constraints cs) |