Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type family ListSum w = r | r -> w where ...
- injectiveListSum :: forall (a :: [Type]) (b :: [Type]). ListSum a ~ ListSum b => a :~: b
- listSumEq :: (forall a. w a -> Dict (Eq a)) -> ListType w t -> Dict (Eq (ListSum t))
- listSumShow :: (forall a. w a -> Dict (Show a)) -> ListType w t -> Dict (Show (ListSum t))
- mapListSum :: ListType w t -> (forall a. w a -> a -> a) -> ListSum t -> ListSum t
- data ListSumType wit t where
- MkListSumType :: forall (wit :: Type -> Type) (lt :: [Type]). ListType wit lt -> ListSumType wit (ListSum lt)
Documentation
injectiveListSum :: forall (a :: [Type]) (b :: [Type]). ListSum a ~ ListSum b => a :~: b Source #
workaround for https://gitlab.haskell.org/ghc/ghc/issues/10833
data ListSumType wit t where Source #
MkListSumType :: forall (wit :: Type -> Type) (lt :: [Type]). ListType wit lt -> ListSumType wit (ListSum lt) |