-- 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