| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Patch
Description
Synopsis
- newtype AdditivePatch p = AdditivePatch {
- unAdditivePatch :: p
- class (Semigroup q, Monoid q) => Group q where
- module Data.Patch.Class
- module Data.Patch.Map
- module Data.Semigroup.Additive
- const2IntPatchDMapWith :: forall {k} v f (a :: k). (v -> f a) -> PatchIntMap v -> PatchDMap (Const2 Key a) f
- const2PatchDMapWith :: forall {k1} k2 v v' (a :: k1). (v -> v' a) -> PatchMap k2 v -> PatchDMap (Const2 k2 a) v'
- mapPatchDMap :: forall {k1} v v' (k2 :: k1 -> Type). (forall (a :: k1). v a -> v' a) -> PatchDMap k2 v -> PatchDMap k2 v'
- patchDMapToPatchMapWith :: forall {k1} v (a :: k1) v' k2. (v a -> v') -> PatchDMap (Const2 k2 a) v -> PatchMap 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'
- const2PatchDMapWithMoveWith :: forall {k1} k2 v v' (a :: k1). (v -> v' a) -> PatchMapWithMove k2 v -> PatchDMapWithMove (Const2 k2 a) v'
- mapPatchDMapWithMove :: forall {k1} (k2 :: k1 -> Type) v v'. (forall (a :: k1). v a -> v' a) -> PatchDMapWithMove k2 v -> PatchDMapWithMove k2 v'
- patchDMapWithMoveToPatchMapWithMoveWith :: forall {k1} k2 v v' (a :: k1). (v a -> v') -> PatchDMapWithMove (Const2 k2 a) v -> PatchMapWithMove k2 v'
- traversePatchDMapWithMoveWithKey :: forall {k1} m k2 v v'. Applicative m => (forall (a :: k1). k2 a -> v a -> m (v' a)) -> PatchDMapWithMove k2 v -> m (PatchDMapWithMove k2 v')
- unPatchDMapWithMove :: forall {k1} (k2 :: k1 -> Type) (v :: k1 -> Type). PatchDMapWithMove k2 v -> DMap k2 (NodeInfo k2 v)
- unsafePatchDMapWithMove :: forall {k1} (k2 :: k1 -> Type) (v :: k1 -> Type). DMap k2 (NodeInfo k2 v) -> PatchDMapWithMove k2 v
- weakenPatchDMapWithMoveWith :: forall {k1} (k2 :: k1 -> Type) v v'. (forall (a :: k1). v a -> v') -> PatchDMapWithMove k2 v -> PatchMapWithMove (Some k2) v'
- mapIntMapPatchWithKey :: (Int -> a -> b) -> PatchIntMap a -> PatchIntMap b
- patchIntMapNewElements :: PatchIntMap a -> [a]
- patchIntMapNewElementsMap :: PatchIntMap a -> IntMap a
- traverseIntMapPatchWithKey :: Applicative f => (Int -> a -> f b) -> PatchIntMap a -> f (PatchIntMap b)
- patchMapWithMoveNewElements :: PatchMapWithMove k v -> [v]
- patchMapWithMoveNewElementsMap :: PatchMapWithMove k v -> Map k v
- unsafePatchMapWithMove :: Map k (NodeInfo k v) -> PatchMapWithMove k v
- newtype PatchDMap (k1 :: k -> Type) (v :: k -> Type) = PatchDMap {
- unPatchDMap :: DMap k1 (ComposeMaybe v)
- data PatchDMapWithMove (k1 :: k -> Type) (v :: k -> Type)
- newtype PatchIntMap a = PatchIntMap {
- unPatchIntMap :: IntMap (Maybe a)
- data PatchMapWithMove k v
Documentation
newtype AdditivePatch p Source #
The elements of an Commutative Semigroup can be considered as patches of their own type.
Constructors
| AdditivePatch | |
Fields
| |
Instances
| Commutative p => Patch (AdditivePatch p) Source # | |||||
Defined in Data.Patch Associated Types
Methods apply :: AdditivePatch p -> PatchTarget (AdditivePatch p) -> Maybe (PatchTarget (AdditivePatch p)) Source # | |||||
| type PatchTarget (AdditivePatch p) Source # | |||||
Defined in Data.Patch | |||||
class (Semigroup q, Monoid q) => Group q where Source #
Minimal complete definition
Instances
| Group () Source # | Trivial group. |
| Group a => Group (Identity a) Source # | Identity lifts groups pointwise (at only one point) |
| Group (Proxy x) Source # | Trivial group, Functor style |
| (Ord k, Group q) => Group (MonoidalMap k q) Source # | |
Defined in Data.Patch Methods negateG :: MonoidalMap k q -> MonoidalMap k q Source # (~~) :: MonoidalMap k q -> MonoidalMap k q -> MonoidalMap k q Source # | |
| (Group a, Group b) => Group (a, b) Source # | Product group. A Pair of groups gives rise to a group |
| Group b => Group (a -> b) Source # | Functions lift groups pointwise. |
| Group a => Group (Const a x) Source # | Const lifts groups into a functor. |
| (Group (f a), Group (g a)) => Group ((f :*: g) a) Source # | Product of groups, Functor style. |
| Group (f (g a)) => Group ((f :.: g) a) Source # | |
module Data.Patch.Class
module Data.Patch.Map
module Data.Semigroup.Additive
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.
const2PatchDMapWith :: forall {k1} k2 v v' (a :: k1). (v -> v' a) -> PatchMap k2 v -> PatchDMap (Const2 k2 a) v' Source #
mapPatchDMap :: forall {k1} v v' (k2 :: k1 -> Type). (forall (a :: k1). v a -> v' a) -> PatchDMap k2 v -> PatchDMap k2 v' Source #
patchDMapToPatchMapWith :: forall {k1} v (a :: k1) v' k2. (v a -> v') -> PatchDMap (Const2 k2 a) v -> PatchMap 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 #
const2PatchDMapWithMoveWith :: forall {k1} k2 v v' (a :: k1). (v -> v' a) -> PatchMapWithMove k2 v -> PatchDMapWithMove (Const2 k2 a) v' Source #
Strengthen a into a PatchMapWithMove k v'PatchDMapWithMove (; that is, turn a non-dependently-typed patch into a dependently typed
one but which always has a constant key type represented by Const2 k a)Const2. Apply the given function to each v to produce a v' a.
Completemented by patchDMapWithMoveToPatchMapWithMoveWith
mapPatchDMapWithMove :: forall {k1} (k2 :: k1 -> Type) v v'. (forall (a :: k1). v a -> v' a) -> PatchDMapWithMove k2 v -> PatchDMapWithMove k2 v' Source #
Map a natural transform v -> v' over the given patch, transforming into PatchDMapWithMove k v.PatchDMapWithMove k v'
patchDMapWithMoveToPatchMapWithMoveWith :: forall {k1} k2 v v' (a :: k1). (v a -> v') -> PatchDMapWithMove (Const2 k2 a) v -> PatchMapWithMove k2 v' Source #
Weaken a to a PatchDMapWithMove (Const2 k a) v. Weaken is in scare quotes because the PatchMapWithMove k v'Const2 has already disabled any
dependency in the typing and all points are already a, hence the function to map each value to v' is not higher rank.
traversePatchDMapWithMoveWithKey :: forall {k1} m k2 v v'. Applicative m => (forall (a :: k1). k2 a -> v a -> m (v' a)) -> PatchDMapWithMove k2 v -> m (PatchDMapWithMove k2 v') Source #
Map an effectful function forall a. k a -> v a -> m (v ' a) over the given patch, transforming into PatchDMapWithMove k vm (.PatchDMapWithMove k v')
unPatchDMapWithMove :: forall {k1} (k2 :: k1 -> Type) (v :: k1 -> Type). PatchDMapWithMove k2 v -> DMap k2 (NodeInfo k2 v) Source #
Extract the DMap representing the patch changes from the PatchDMapWithMove.
unsafePatchDMapWithMove :: forall {k1} (k2 :: k1 -> Type) (v :: k1 -> Type). DMap k2 (NodeInfo k2 v) -> PatchDMapWithMove k2 v Source #
Wrap a DMap representing patch changes into a PatchDMapWithMove, without checking any invariants.
Warning: when using this function, you must ensure that the invariants of PatchDMapWithMove are preserved; they will not be checked.
weakenPatchDMapWithMoveWith :: forall {k1} (k2 :: k1 -> Type) v v'. (forall (a :: k1). v a -> v') -> PatchDMapWithMove k2 v -> PatchMapWithMove (Some k2) v' Source #
Weaken a PatchDMapWithMove to a PatchMapWithMove by weakening the keys from k a to and applying a given weakening function Some kv a -> v' to
values.
mapIntMapPatchWithKey :: (Int -> a -> b) -> PatchIntMap a -> PatchIntMap b Source #
Map a function Int -> a -> b over all as in the given
(that is, all inserts/updates), producing a PatchIntMap aPatchIntMap b.
patchIntMapNewElements :: PatchIntMap a -> [a] Source #
Extract all as inserted/updated by the given .PatchIntMap a
patchIntMapNewElementsMap :: PatchIntMap a -> IntMap a Source #
Convert the given into an PatchIntMap a with all
the inserts/updates in the given patch.IntMap a
traverseIntMapPatchWithKey :: Applicative f => (Int -> a -> f b) -> PatchIntMap a -> f (PatchIntMap b) Source #
Map an effectful function Int -> a -> f b over all as in the given
(that is, all inserts/updates), producing a PatchIntMap af (PatchIntMap b).
patchMapWithMoveNewElements :: PatchMapWithMove k v -> [v] Source #
Returns all the new elements that will be added to the Map.
patchMapWithMoveNewElementsMap :: PatchMapWithMove k v -> Map k v Source #
Return a with all the inserts/updates from the given Map k v.PatchMapWithMove k v
unsafePatchMapWithMove :: Map k (NodeInfo k v) -> PatchMapWithMove k v Source #
Wrap a representing patch changes into a Map k (NodeInfo k v), without checking any invariants.PatchMapWithMove k v
Warning: when using this function, you must ensure that the invariants of PatchMapWithMove are preserved; they will not be checked.
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 | |||||
data PatchDMapWithMove (k1 :: k -> Type) (v :: k -> Type) Source #
Like PatchMapWithMove, but for DMap. Each key carries a NodeInfo which describes how it will be changed by the patch and connects move sources and
destinations.
Invariants:
- A key should not move to itself.
- A move should always be represented with both the destination key (as a
From_Move) and the source key (as a)ComposeMaybe(Justdestination)
Instances
newtype PatchIntMap a Source #
Patch for IntMap which represents insertion or deletion of keys in the mapping.
Internally represented by 'IntMap (Maybe a)', where Just means insert/update
and Nothing means delete.
Constructors
| PatchIntMap | |
Fields
| |
Instances
| Functor PatchIntMap Source # | |||||
Defined in Data.Patch.IntMap Methods fmap :: (a -> b) -> PatchIntMap a -> PatchIntMap b # (<$) :: a -> PatchIntMap b -> PatchIntMap a # | |||||
| Foldable PatchIntMap Source # | |||||
Defined in Data.Patch.IntMap Methods fold :: Monoid m => PatchIntMap m -> m # foldMap :: Monoid m => (a -> m) -> PatchIntMap a -> m # foldMap' :: Monoid m => (a -> m) -> PatchIntMap a -> m # foldr :: (a -> b -> b) -> b -> PatchIntMap a -> b # foldr' :: (a -> b -> b) -> b -> PatchIntMap a -> b # foldl :: (b -> a -> b) -> b -> PatchIntMap a -> b # foldl' :: (b -> a -> b) -> b -> PatchIntMap a -> b # foldr1 :: (a -> a -> a) -> PatchIntMap a -> a # foldl1 :: (a -> a -> a) -> PatchIntMap a -> a # toList :: PatchIntMap a -> [a] # null :: PatchIntMap a -> Bool # length :: PatchIntMap a -> Int # elem :: Eq a => a -> PatchIntMap a -> Bool # maximum :: Ord a => PatchIntMap a -> a # minimum :: Ord a => PatchIntMap a -> a # sum :: Num a => PatchIntMap a -> a # product :: Num a => PatchIntMap a -> a # | |||||
| Traversable PatchIntMap Source # | |||||
Defined in Data.Patch.IntMap Methods traverse :: Applicative f => (a -> f b) -> PatchIntMap a -> f (PatchIntMap b) # sequenceA :: Applicative f => PatchIntMap (f a) -> f (PatchIntMap a) # mapM :: Monad m => (a -> m b) -> PatchIntMap a -> m (PatchIntMap b) # sequence :: Monad m => PatchIntMap (m a) -> m (PatchIntMap a) # | |||||
| FoldableWithIndex Int PatchIntMap Source # | |||||
Defined in Data.Patch.IntMap Methods ifoldMap :: Monoid m => (Int -> a -> m) -> PatchIntMap a -> m # ifoldMap' :: Monoid m => (Int -> a -> m) -> PatchIntMap a -> m # ifoldr :: (Int -> a -> b -> b) -> b -> PatchIntMap a -> b # ifoldl :: (Int -> b -> a -> b) -> b -> PatchIntMap a -> b # ifoldr' :: (Int -> a -> b -> b) -> b -> PatchIntMap a -> b # ifoldl' :: (Int -> b -> a -> b) -> b -> PatchIntMap a -> b # | |||||
| FunctorWithIndex Int PatchIntMap Source # | |||||
Defined in Data.Patch.IntMap Methods imap :: (Int -> a -> b) -> PatchIntMap a -> PatchIntMap b # | |||||
| TraversableWithIndex Int PatchIntMap Source # | |||||
Defined in Data.Patch.IntMap Methods itraverse :: Applicative f => (Int -> a -> f b) -> PatchIntMap a -> f (PatchIntMap b) # | |||||
| Monoid (PatchIntMap a) Source # | |||||
Defined in Data.Patch.IntMap Methods mempty :: PatchIntMap a # mappend :: PatchIntMap a -> PatchIntMap a -> PatchIntMap a # mconcat :: [PatchIntMap a] -> PatchIntMap a # | |||||
| Semigroup (PatchIntMap v) Source # |
| ||||
Defined in Data.Patch.IntMap Methods (<>) :: PatchIntMap v -> PatchIntMap v -> PatchIntMap v # sconcat :: NonEmpty (PatchIntMap v) -> PatchIntMap v # stimes :: Integral b => b -> PatchIntMap v -> PatchIntMap v # | |||||
| Read a => Read (PatchIntMap a) Source # | |||||
Defined in Data.Patch.IntMap Methods readsPrec :: Int -> ReadS (PatchIntMap a) # readList :: ReadS [PatchIntMap a] # readPrec :: ReadPrec (PatchIntMap a) # readListPrec :: ReadPrec [PatchIntMap a] # | |||||
| Show a => Show (PatchIntMap a) Source # | |||||
Defined in Data.Patch.IntMap Methods showsPrec :: Int -> PatchIntMap a -> ShowS # show :: PatchIntMap a -> String # showList :: [PatchIntMap a] -> ShowS # | |||||
| Eq a => Eq (PatchIntMap a) Source # | |||||
Defined in Data.Patch.IntMap Methods (==) :: PatchIntMap a -> PatchIntMap a -> Bool # (/=) :: PatchIntMap a -> PatchIntMap a -> Bool # | |||||
| Ord a => Ord (PatchIntMap a) Source # | |||||
Defined in Data.Patch.IntMap Methods compare :: PatchIntMap a -> PatchIntMap a -> Ordering # (<) :: PatchIntMap a -> PatchIntMap a -> Bool # (<=) :: PatchIntMap a -> PatchIntMap a -> Bool # (>) :: PatchIntMap a -> PatchIntMap a -> Bool # (>=) :: PatchIntMap a -> PatchIntMap a -> Bool # max :: PatchIntMap a -> PatchIntMap a -> PatchIntMap a # min :: PatchIntMap a -> PatchIntMap a -> PatchIntMap a # | |||||
| Wrapped (PatchIntMap a) Source # | |||||
Defined in Data.Patch.IntMap Associated Types
Methods _Wrapped' :: Iso' (PatchIntMap a) (Unwrapped (PatchIntMap a)) # | |||||
| DecidablyEmpty (PatchIntMap a) Source # | |||||
Defined in Data.Patch.IntMap Methods isEmpty :: PatchIntMap a -> Bool Source # | |||||
| Patch (PatchIntMap a) Source # | Apply the insertions or deletions to a given | ||||
Defined in Data.Patch.IntMap Associated Types
Methods apply :: PatchIntMap a -> PatchTarget (PatchIntMap a) -> Maybe (PatchTarget (PatchIntMap a)) Source # | |||||
| PatchIntMap a1 ~ t => Rewrapped (PatchIntMap a2) t Source # | |||||
Defined in Data.Patch.IntMap | |||||
| type Unwrapped (PatchIntMap a) Source # | |||||
Defined in Data.Patch.IntMap | |||||
| type PatchTarget (PatchIntMap a) Source # | |||||
Defined in Data.Patch.IntMap | |||||
data PatchMapWithMove k v Source #
Patch a Map with additions, deletions, and moves. Invariant: If key k1
is coming from From_Move k2, then key k2 should be going to Just k1,
and vice versa. There should never be any unpaired From/To keys.
Instances
| FoldableWithIndex k (PatchMapWithMove k) Source # | |||||
Defined in Data.Patch.MapWithMove Methods ifoldMap :: Monoid m => (k -> a -> m) -> PatchMapWithMove k a -> m # ifoldMap' :: Monoid m => (k -> a -> m) -> PatchMapWithMove k a -> m # ifoldr :: (k -> a -> b -> b) -> b -> PatchMapWithMove k a -> b # ifoldl :: (k -> b -> a -> b) -> b -> PatchMapWithMove k a -> b # ifoldr' :: (k -> a -> b -> b) -> b -> PatchMapWithMove k a -> b # ifoldl' :: (k -> b -> a -> b) -> b -> PatchMapWithMove k a -> b # | |||||
| FunctorWithIndex k (PatchMapWithMove k) Source # | |||||
Defined in Data.Patch.MapWithMove Methods imap :: (k -> a -> b) -> PatchMapWithMove k a -> PatchMapWithMove k b # | |||||
| TraversableWithIndex k (PatchMapWithMove k) Source # | |||||
Defined in Data.Patch.MapWithMove Methods itraverse :: Applicative f => (k -> a -> f b) -> PatchMapWithMove k a -> f (PatchMapWithMove k b) # | |||||
| Functor (PatchMapWithMove k) Source # | |||||
Defined in Data.Patch.MapWithMove Methods fmap :: (a -> b) -> PatchMapWithMove k a -> PatchMapWithMove k b # (<$) :: a -> PatchMapWithMove k b -> PatchMapWithMove k a # | |||||
| Foldable (PatchMapWithMove k) Source # | |||||
Defined in Data.Patch.MapWithMove Methods fold :: Monoid m => PatchMapWithMove k m -> m # foldMap :: Monoid m => (a -> m) -> PatchMapWithMove k a -> m # foldMap' :: Monoid m => (a -> m) -> PatchMapWithMove k a -> m # foldr :: (a -> b -> b) -> b -> PatchMapWithMove k a -> b # foldr' :: (a -> b -> b) -> b -> PatchMapWithMove k a -> b # foldl :: (b -> a -> b) -> b -> PatchMapWithMove k a -> b # foldl' :: (b -> a -> b) -> b -> PatchMapWithMove k a -> b # foldr1 :: (a -> a -> a) -> PatchMapWithMove k a -> a # foldl1 :: (a -> a -> a) -> PatchMapWithMove k a -> a # toList :: PatchMapWithMove k a -> [a] # null :: PatchMapWithMove k a -> Bool # length :: PatchMapWithMove k a -> Int # elem :: Eq a => a -> PatchMapWithMove k a -> Bool # maximum :: Ord a => PatchMapWithMove k a -> a # minimum :: Ord a => PatchMapWithMove k a -> a # sum :: Num a => PatchMapWithMove k a -> a # product :: Num a => PatchMapWithMove k a -> a # | |||||
| Traversable (PatchMapWithMove k) Source # | |||||
Defined in Data.Patch.MapWithMove Methods traverse :: Applicative f => (a -> f b) -> PatchMapWithMove k a -> f (PatchMapWithMove k b) # sequenceA :: Applicative f => PatchMapWithMove k (f a) -> f (PatchMapWithMove k a) # mapM :: Monad m => (a -> m b) -> PatchMapWithMove k a -> m (PatchMapWithMove k b) # sequence :: Monad m => PatchMapWithMove k (m a) -> m (PatchMapWithMove k a) # | |||||
| Ord k => Monoid (PatchMapWithMove k v) Source # | |||||
Defined in Data.Patch.MapWithMove Methods mempty :: PatchMapWithMove k v # mappend :: PatchMapWithMove k v -> PatchMapWithMove k v -> PatchMapWithMove k v # mconcat :: [PatchMapWithMove k v] -> PatchMapWithMove k v # | |||||
| Ord k => Semigroup (PatchMapWithMove k v) Source # | Compose patches having the same effect as applying the
patches in turn: | ||||
Defined in Data.Patch.MapWithMove Methods (<>) :: PatchMapWithMove k v -> PatchMapWithMove k v -> PatchMapWithMove k v # sconcat :: NonEmpty (PatchMapWithMove k v) -> PatchMapWithMove k v # stimes :: Integral b => b -> PatchMapWithMove k v -> PatchMapWithMove k v # | |||||
| (Ord k, Read k, Read v) => Read (PatchMapWithMove k v) Source # | |||||
Defined in Data.Patch.MapWithMove Methods readsPrec :: Int -> ReadS (PatchMapWithMove k v) # readList :: ReadS [PatchMapWithMove k v] # readPrec :: ReadPrec (PatchMapWithMove k v) # readListPrec :: ReadPrec [PatchMapWithMove k v] # | |||||
| (Show k, Show v) => Show (PatchMapWithMove k v) Source # | |||||
Defined in Data.Patch.MapWithMove Methods showsPrec :: Int -> PatchMapWithMove k v -> ShowS # show :: PatchMapWithMove k v -> String # showList :: [PatchMapWithMove k v] -> ShowS # | |||||
| (Eq k, Eq v) => Eq (PatchMapWithMove k v) Source # | |||||
Defined in Data.Patch.MapWithMove Methods (==) :: PatchMapWithMove k v -> PatchMapWithMove k v -> Bool # (/=) :: PatchMapWithMove k v -> PatchMapWithMove k v -> Bool # | |||||
| (Ord k, Ord v) => Ord (PatchMapWithMove k v) Source # | |||||
Defined in Data.Patch.MapWithMove Methods compare :: PatchMapWithMove k v -> PatchMapWithMove k v -> Ordering # (<) :: PatchMapWithMove k v -> PatchMapWithMove k v -> Bool # (<=) :: PatchMapWithMove k v -> PatchMapWithMove k v -> Bool # (>) :: PatchMapWithMove k v -> PatchMapWithMove k v -> Bool # (>=) :: PatchMapWithMove k v -> PatchMapWithMove k v -> Bool # max :: PatchMapWithMove k v -> PatchMapWithMove k v -> PatchMapWithMove k v # min :: PatchMapWithMove k v -> PatchMapWithMove k v -> PatchMapWithMove k v # | |||||
| Wrapped (PatchMapWithMove k v) Source # | |||||
Defined in Data.Patch.MapWithMove Associated Types
Methods _Wrapped' :: Iso' (PatchMapWithMove k v) (Unwrapped (PatchMapWithMove k v)) # | |||||
| Ord k => Patch (PatchMapWithMove k v) Source # | Apply the insertions, deletions, and moves to a given | ||||
Defined in Data.Patch.MapWithMove Associated Types
Methods apply :: PatchMapWithMove k v -> PatchTarget (PatchMapWithMove k v) -> Maybe (PatchTarget (PatchMapWithMove k v)) Source # | |||||
| PatchMapWithMove k1 v1 ~ t => Rewrapped (PatchMapWithMove k2 v2) t Source # | |||||
Defined in Data.Patch.MapWithMove | |||||
| type Unwrapped (PatchMapWithMove k v) Source # | |||||
Defined in Data.Patch.MapWithMove | |||||
| type PatchTarget (PatchMapWithMove k v) Source # | |||||
Defined in Data.Patch.MapWithMove | |||||