Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data SomeFor f w = forall a. MkSomeFor (w a) (f a)
- mapSome :: forall k (g :: k -> Type) (w1 :: k -> Type) (w2 :: k -> Type). (forall t. w1 t -> w2 t) -> SomeFor g w1 -> SomeFor g w2
- matchSomeFor :: TestEquality w => w a -> SomeFor f w -> Maybe (f a)
- type SomeOf = SomeFor Identity
- pattern MkSomeOf :: w a -> a -> SomeOf w
- matchSomeOf :: forall (w :: Type -> Type) (a :: Type). TestEquality w => w a -> SomeOf w -> Maybe a
- type Some = SomeFor (Const ())
- pattern MkSome :: w a -> Some w
- matchSome :: forall k (w :: k -> Type) (a :: k). TestEquality w => w a -> Some w -> Bool
- withSomeAllConstraint :: forall k (c :: Type -> Constraint) (w :: k -> Type) (r :: Type). AllConstraint c w => Some w -> (forall a. c (w a) => w a -> r) -> r
- someForToSome :: SomeFor f w -> Some w
Documentation
Any value with a witness to a parameter of its type.
forall a. MkSomeFor (w a) (f a) |
Instances
(TestEquality w, WitnessConstraint Eq w) => Eq (SomeOf w) Source # | |
AllConstraint Show w => Show (Some w) Source # | |
(TestEquality w, FiniteWitness w) => Countable (Some w) Source # | |
Defined in Data.Type.Witness.General.Finite | |
(TestEquality w, FiniteWitness w) => Finite (Some w) Source # | |
Defined in Data.Type.Witness.General.Finite | |
(TestEquality w, FiniteWitness w) => Searchable (Some w) Source # | |
TestEquality w => Eq (Some w) Source # | |
TestOrder w => Ord (Some w) Source # | |
mapSome :: forall k (g :: k -> Type) (w1 :: k -> Type) (w2 :: k -> Type). (forall t. w1 t -> w2 t) -> SomeFor g w1 -> SomeFor g w2 Source #
matchSomeFor :: TestEquality w => w a -> SomeFor f w -> Maybe (f a) Source #
matchSomeOf :: forall (w :: Type -> Type) (a :: Type). TestEquality w => w a -> SomeOf w -> Maybe a Source #
withSomeAllConstraint :: forall k (c :: Type -> Constraint) (w :: k -> Type) (r :: Type). AllConstraint c w => Some w -> (forall a. c (w a) => w a -> r) -> r Source #
someForToSome :: SomeFor f w -> Some w Source #