| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Data.Type.Witness.Specific.List.Element
Documentation
data ListElementType (kk :: [k]) (t :: k) where Source #
Constructors
| FirstElementType :: forall {k} (t :: k) (tt :: [k]). ListElementType (t ': tt) t | |
| RestElementType :: forall {k} (aa :: [k]) (t :: k) (a :: k). ListElementType aa t -> ListElementType (a ': aa) t |
Instances
pickListElement :: forall k w (t :: k) (lt :: [k]). ListElementType lt t -> ListType w lt -> w t Source #
lookUpListElement :: forall k w (t :: k) (lt :: [k]). TestEquality w => w t -> ListType w lt -> Maybe (ListElementType lt t) Source #
countListType :: forall {k} (w :: k -> Type) (lt :: [k]). ListType w lt -> ListType (ListElementType lt) lt Source #
listElementTypeIndex :: forall {k} (lt :: [k]). Some (ListElementType lt) -> Some (Greater (ListLength lt)) Source #
indexListElementType :: forall {k} (w :: k -> Type) (lt :: [k]). ListType w lt -> Some (Greater (ListLength lt)) -> SomeFor w (ListElementType lt) Source #