-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Operations on type-level lists and tuples.
--
@package type-list
@version 0.2.0.0
-- | Operations on type-level lists and tuples, together with their curried
-- versions - the more apostrophes, the more arguments are missing from
-- the function. Curried type functions can be evaluated by the
-- Apply type family from Data.Singletons.
module Data.Type.List
-- | Maps a curried type function over a type list.
data Map'' :: TyFun (TyFun a b -> *) (TyFun [a] [b] -> *) -> *
Map'' :: Map'' f
data Map' :: (TyFun a b -> *) -> TyFun [a] [b] -> *
Map' :: Map' f g
lengthVal :: KnownNat (Length xs) => sing xs -> Integer
data Length' :: TyFun [a] Nat -> *
Length' :: Length' l
-- | Insert a type into a type list.
data Insert'' :: TyFun k (TyFun [k] [k] -> *) -> *
Insert'' :: Insert'' f
data Insert' :: k -> TyFun [k] [k] -> *
Insert' :: Insert' x f
-- | Set union over type lists.
data Union'' :: TyFun [k] (TyFun [k] [k] -> *) -> *
Union'' :: Union'' f
data Union' :: [k] -> TyFun [k] [k] -> *
Union' :: Union' xs f
-- | Remove a type from type list.
data Remove'' :: TyFun k (TyFun [k] [k] -> *) -> *
Remove'' :: Remove'' f
data Remove' :: k -> TyFun [k] [k] -> *
Remove' :: Remove' x f
data Difference'' :: TyFun [k] (TyFun [k] [k] -> *) -> *
Difference'' :: Difference'' f
data Difference' :: [k] -> TyFun [k] [k] -> *
Difference' :: Difference' xs f
data Reverse' :: TyFun [k] [k] -> *
Reverse' :: Reverse' f
-- | Type list membership test.
data Find'' :: TyFun k (TyFun [k] Bool -> *) -> *
Find'' :: Find'' f
data Find' :: k -> TyFun [k] Bool -> *
Find' :: Find' x f
-- | Type list intersection.
data Intersection'' :: TyFun [k] (TyFun [k] [k] -> *) -> *
Intersection'' :: Intersection'' f
data Intersection' :: [k] -> TyFun [k] [k] -> *
Intersection' :: Intersection' xs f
-- | Test if two list do not contain any equal elements.
data Distinct'' :: TyFun [k] (TyFun [k] Bool -> *) -> *
Distinct'' :: Distinct'' f
data Distinct' :: [k] -> TyFun [k] Bool -> *
Distinct' :: Distinct' xs f
-- | Lookup an association type list.
data Lookup'' :: TyFun k (TyFun [(k, a)] a -> *) -> *
Lookup'' :: Lookup'' f
data Lookup' :: k -> TyFun [(k, a)] a -> *
Lookup' :: Lookup' x f
-- | First element of a type pair.
data Fst' :: TyFun (a, b) a -> *
Fst' :: Fst' f
-- | Second element of a type pair.
data Snd' :: TyFun (a, b) b -> *
Snd' :: Snd' k
-- | Cons a type pair with elements in order.
data AsFst'' :: TyFun a (TyFun b (a, b) -> *) -> *
AsFst'' :: AsFst'' f
data AsFst' :: a -> TyFun b (a, b) -> *
AsFst' :: AsFst' a f
-- | Cons a type pair in reverse order.
data AsSnd'' :: TyFun a (TyFun b (b, a) -> *) -> *
AsSnd'' :: AsSnd'' f
data AsSnd' :: a -> TyFun b (b, a) -> *
AsSnd' :: AsSnd' k f
-- | Swap elements of a type pair.
data Swap' :: TyFun (a, b) (b, a) -> *
Swap' :: Swap' f