Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type T = HFList
- data HFList :: (k -> Type) -> [k] -> Type where
- data Membership (xs :: [k]) (x :: k)
- type family Concat (xs1 :: [k]) (xs2 :: [k]) :: [k] where ...
- hconcat :: HFList f xs1 -> HFList f xs2 -> HFList f (Concat xs1 xs2)
- hfoldrWithIndex :: forall f r xs. (forall x ys. Membership xs x -> f x -> r ys -> r (x ': ys)) -> r '[] -> HFList f xs -> r xs
- htraverseWithIndex :: forall m f g xs. Applicative m => (forall x. Membership xs x -> f x -> m (g x)) -> HFList f xs -> m (HFList g xs)
- hmapWithIndex :: (forall x. Membership xs x -> f x -> g x) -> HFList f xs -> HFList g xs
- hfoldMWithIndex :: forall m r f xs. Monad m => r -> (forall x. r -> Membership xs x -> f x -> m r) -> HFList f xs -> m r
- hforMWithIndex :: forall m f xs. Applicative m => HFList f xs -> (forall x. Membership xs x -> f x -> m ()) -> m ()
- hfoldlWithIndex :: r -> (forall x. r -> Membership xs x -> f x -> r) -> HFList f xs -> r
- data DictF :: (k -> Constraint) -> k -> Type where
Documentation
data Membership (xs :: [k]) (x :: k) #
A witness that of x
is a member of a type level set xs
.
Instances
hfoldrWithIndex :: forall f r xs. (forall x ys. Membership xs x -> f x -> r ys -> r (x ': ys)) -> r '[] -> HFList f xs -> r xs Source #
htraverseWithIndex :: forall m f g xs. Applicative m => (forall x. Membership xs x -> f x -> m (g x)) -> HFList f xs -> m (HFList g xs) Source #
hmapWithIndex :: (forall x. Membership xs x -> f x -> g x) -> HFList f xs -> HFList g xs Source #
hfoldMWithIndex :: forall m r f xs. Monad m => r -> (forall x. r -> Membership xs x -> f x -> m r) -> HFList f xs -> m r Source #
hforMWithIndex :: forall m f xs. Applicative m => HFList f xs -> (forall x. Membership xs x -> f x -> m ()) -> m () Source #
hfoldlWithIndex :: r -> (forall x. r -> Membership xs x -> f x -> r) -> HFList f xs -> r Source #