Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Patch.DMap
Description
Patches of this type consist only of insertions (including overwrites) and deletions.
Synopsis
- newtype PatchDMap (k1 :: k -> Type) (v :: k -> Type) = PatchDMap {
- unPatchDMap :: DMap k1 (ComposeMaybe v)
- mapPatchDMap :: forall {k1} v v' (k2 :: k1 -> Type). (forall (a :: k1). v a -> v' a) -> PatchDMap k2 v -> PatchDMap k2 v'
- traversePatchDMap :: forall {k1} f v v' (k2 :: k1 -> Type). Applicative f => (forall (a :: k1). v a -> f (v' a)) -> PatchDMap k2 v -> f (PatchDMap k2 v')
- traversePatchDMapWithKey :: forall {k1} m k2 v v'. Applicative m => (forall (a :: k1). k2 a -> v a -> m (v' a)) -> PatchDMap k2 v -> m (PatchDMap k2 v')
- weakenPatchDMapWith :: forall {k1} v v' (k2 :: k1 -> Type). (forall (a :: k1). v a -> v') -> PatchDMap k2 v -> PatchMap (Some k2) v'
- patchDMapToPatchMapWith :: forall {k1} v (a :: k1) v' k2. (v a -> v') -> PatchDMap (Const2 k2 a) v -> PatchMap k2 v'
- const2PatchDMapWith :: forall {k1} k2 v v' (a :: k1). (v -> v' a) -> PatchMap k2 v -> PatchDMap (Const2 k2 a) v'
- const2IntPatchDMapWith :: forall {k} v f (a :: k). (v -> f a) -> PatchIntMap v -> PatchDMap (Const2 Key a) f
- getDeletions :: forall {k1} (k2 :: k1 -> Type) (v :: k1 -> Type) (v' :: k1 -> Type). GCompare k2 => PatchDMap k2 v -> DMap k2 v' -> DMap k2 v'
Documentation
newtype PatchDMap (k1 :: k -> Type) (v :: k -> Type) Source #
A set of changes to a DMap
. Any element may be inserted/updated or deleted.
Insertions are represented as
,
while deletions are represented as ComposeMaybe
(Just value)
.ComposeMaybe
Nothing
Constructors
PatchDMap | |
Fields
|
Instances
GCompare k2 => Monoid (PatchDMap k2 v) Source # | |||||
GCompare k2 => Semigroup (PatchDMap k2 v) Source # | |||||
GCompare k2 => DecidablyEmpty (PatchDMap k2 v) Source # | |||||
GCompare k2 => Patch (PatchDMap k2 v) Source # | Apply the insertions or deletions to a given | ||||
Defined in Data.Patch.DMap Associated Types
Methods apply :: PatchDMap k2 v -> PatchTarget (PatchDMap k2 v) -> Maybe (PatchTarget (PatchDMap k2 v)) Source # | |||||
type PatchTarget (PatchDMap k2 v) Source # | |||||
Defined in Data.Patch.DMap |
mapPatchDMap :: forall {k1} v v' (k2 :: k1 -> Type). (forall (a :: k1). v a -> v' a) -> PatchDMap k2 v -> PatchDMap k2 v' Source #
traversePatchDMap :: forall {k1} f v v' (k2 :: k1 -> Type). Applicative f => (forall (a :: k1). v a -> f (v' a)) -> PatchDMap k2 v -> f (PatchDMap k2 v') Source #
traversePatchDMapWithKey :: forall {k1} m k2 v v'. Applicative m => (forall (a :: k1). k2 a -> v a -> m (v' a)) -> PatchDMap k2 v -> m (PatchDMap k2 v') Source #
weakenPatchDMapWith :: forall {k1} v v' (k2 :: k1 -> Type). (forall (a :: k1). v a -> v') -> PatchDMap k2 v -> PatchMap (Some k2) v' Source #
patchDMapToPatchMapWith :: forall {k1} v (a :: k1) v' k2. (v a -> v') -> PatchDMap (Const2 k2 a) v -> PatchMap k2 v' Source #
const2PatchDMapWith :: forall {k1} k2 v v' (a :: k1). (v -> v' a) -> PatchMap k2 v -> PatchDMap (Const2 k2 a) v' Source #
const2IntPatchDMapWith :: forall {k} v f (a :: k). (v -> f a) -> PatchIntMap v -> PatchDMap (Const2 Key a) f Source #
Convert a
into a PatchIntMap
v
using a function PatchDMap
(Const2
Int a) v'v -> v' a
.