| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Data.Type.Witness.Specific.OrderedWitnessMap.For
Synopsis
- newtype OrderedWitnessMapFor (f :: k -> Type) (w :: k -> Type) = MkOrderedWitnessMapFor (Map (Some w) (SomeFor f w))
- emptyOrderedWitnessMapFor :: forall {k} (w :: k -> Type) (f :: k -> Type). TestOrder w => OrderedWitnessMapFor f w
- orderedWitnessMapForLookup :: forall {k} w (a :: k) f. TestOrder w => w a -> OrderedWitnessMapFor f w -> Maybe (f a)
- orderedWitnessMapForModify :: forall {k} f w (a :: k). TestOrder w => w a -> (f a -> f a) -> OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w
- orderedWitnessMapForReplace :: forall {k} w (a :: k) f. TestOrder w => w a -> f a -> OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w
- orderedWitnessMapForAdd :: forall {k} w (a :: k) f. TestOrder w => w a -> f a -> OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w
- orderedWitnessMapForSingle :: forall {k} w (a :: k) f. w a -> f a -> OrderedWitnessMapFor f w
- orderedWitnessMapForFold :: forall {k} m f w. Monoid m => OrderedWitnessMapFor f w -> (forall (a :: k). w a -> f a -> m) -> m
- orderedWitnessMapForRemove :: forall {k} w (a :: k) (f :: k -> Type). TestOrder w => w a -> OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w
- orderedWitnessMapForToList :: forall {k} (f :: k -> Type) (w :: k -> Type). OrderedWitnessMapFor f w -> [SomeFor f w]
- orderedWitnessMapForFromList :: forall {k} (w :: k -> Type) (f :: k -> Type). TestOrder w => [SomeFor f w] -> OrderedWitnessMapFor f w
- orderedWitnessMapForMapM :: forall {k} m f g (w :: k -> Type). Applicative m => (forall (a :: k). f a -> m (g a)) -> OrderedWitnessMapFor f w -> m (OrderedWitnessMapFor g w)
Documentation
newtype OrderedWitnessMapFor (f :: k -> Type) (w :: k -> Type) Source #
A dictionary that is heterogenous up to its simple witness type w.
Witnesses are the keys of the dictionary, and the values they witness are the values of the dictionary.
Constructors
| MkOrderedWitnessMapFor (Map (Some w) (SomeFor f w)) |
Instances
| TestOrder w => Monoid (OrderedWitnessMapFor f w) Source # | |
Defined in Data.Type.Witness.Specific.OrderedWitnessMap.For Methods mempty :: OrderedWitnessMapFor f w # mappend :: OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w # mconcat :: [OrderedWitnessMapFor f w] -> OrderedWitnessMapFor f w # | |
| TestOrder w => Semigroup (OrderedWitnessMapFor f w) Source # | |
Defined in Data.Type.Witness.Specific.OrderedWitnessMap.For Methods (<>) :: OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w # sconcat :: NonEmpty (OrderedWitnessMapFor f w) -> OrderedWitnessMapFor f w # stimes :: Integral b => b -> OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w # | |
emptyOrderedWitnessMapFor :: forall {k} (w :: k -> Type) (f :: k -> Type). TestOrder w => OrderedWitnessMapFor f w Source #
An empty dictionary.
orderedWitnessMapForLookup :: forall {k} w (a :: k) f. TestOrder w => w a -> OrderedWitnessMapFor f w -> Maybe (f a) Source #
Look up the value in the dictionary that matches the given witness.
orderedWitnessMapForModify :: forall {k} f w (a :: k). TestOrder w => w a -> (f a -> f a) -> OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w Source #
Modify the value in the dictionary that matches a particular witness.
orderedWitnessMapForReplace :: forall {k} w (a :: k) f. TestOrder w => w a -> f a -> OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w Source #
Replace the value in the dictionary that matches the witness
orderedWitnessMapForAdd :: forall {k} w (a :: k) f. TestOrder w => w a -> f a -> OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w Source #
Add a witness and value to the dictionary.
orderedWitnessMapForSingle :: forall {k} w (a :: k) f. w a -> f a -> OrderedWitnessMapFor f w Source #
A dictionary for a single witness and value
orderedWitnessMapForFold :: forall {k} m f w. Monoid m => OrderedWitnessMapFor f w -> (forall (a :: k). w a -> f a -> m) -> m Source #
orderedWitnessMapForRemove :: forall {k} w (a :: k) (f :: k -> Type). TestOrder w => w a -> OrderedWitnessMapFor f w -> OrderedWitnessMapFor f w Source #
Remove the entry in the dictionary that matches the given witness.
orderedWitnessMapForToList :: forall {k} (f :: k -> Type) (w :: k -> Type). OrderedWitnessMapFor f w -> [SomeFor f w] Source #
orderedWitnessMapForFromList :: forall {k} (w :: k -> Type) (f :: k -> Type). TestOrder w => [SomeFor f w] -> OrderedWitnessMapFor f w Source #
Create a dictionary from a list of witness/value pairs
orderedWitnessMapForMapM :: forall {k} m f g (w :: k -> Type). Applicative m => (forall (a :: k). f a -> m (g a)) -> OrderedWitnessMapFor f w -> m (OrderedWitnessMapFor g w) Source #