Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Annotations.MultiRec.Any
Description
Pattern functors existentially quantified in their top-level index type ix
.
- data Any s where
- mkAny :: El s ix => ix -> Any s
- matchAny :: forall s a. EqS s => s a -> Any s -> Maybe a
- data AnyF s f where
- mkAnyF :: El s ix => r ix -> AnyF s r
- matchAnyF :: forall s f a. EqS s => s a -> AnyF s f -> Maybe (f a)
- unwrapAnyF :: (forall ix. f ix -> ix) -> AnyF s f -> Any s
- ($?) :: (forall b. s b -> f b -> a) -> AnyF s f -> a
Documentation
A value of some type in data family s
, together with its witness.
A value of some type in data family s
wrapped in an f
, together with its witness.
matchAnyF :: forall s f a. EqS s => s a -> AnyF s f -> Maybe (f a) Source #
Unify an AnyF
with an f a
.
unwrapAnyF :: (forall ix. f ix -> ix) -> AnyF s f -> Any s Source #
Removes the value from its functor f
.