The result of a diff of an entry within two Maps.
In two Maps m1 and m2, when performing a diff, this type encodes the following situations:
Same key, different values: Stores the two values in the Delta constructor.
Same key, same values: Stores the value in the Same constructor.
Key exists in m1 but not m2: Stores the value in the Old constructor.
Key exists in m2 but not m1: Stores the value in the New constructor.
This behaviour ensures that we don't lose any information, meaning
we can reconstruct either of the original Map k a from a Map k (Delta a).
(Note that this slightly differs from diff, which does not
care about the possibility of reconstruction).
Instances10Functor, Foldable, Traversable, Generic1, Eq, Ord, …
Functor DeltaDefined in patience-0.3 · Patience.MapFoldable DeltaDefined in patience-0.3 · Patience.MapTraversable DeltaDefined in patience-0.3 · Patience.MapGeneric1 DeltaDefined in patience-0.3 · Patience.MapEq a => Eq (Delta a)Defined in patience-0.3 · Patience.MapOrd a => Ord (Delta a)Defined in patience-0.3 · Patience.MapShow a => Show (Delta a)Defined in patience-0.3 · Patience.MapGeneric (Delta a)Defined in patience-0.3 · Patience.Maptype Rep (Delta a) = D1 ('MetaDataDefined in patience-0.3 · Patience.Map"Delta"
"Patience.Map"
"patience-0.3-k2ddrw3BgbH6zQQU7wdzH"
'False) ((C1 ('MetaCons"Delta"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :+: C1 ('MetaCons"Same"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))) :+: (C1 ('MetaCons"Old"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :+: C1 ('MetaCons"New"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))type Rep1 Delta = D1 ('MetaDataDefined in patience-0.3 · Patience.Map"Delta"
"Patience.Map"
"patience-0.3-k2ddrw3BgbH6zQQU7wdzH"
'False) ((C1 ('MetaCons"Delta"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :+: C1 ('MetaCons"Same"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)) :+: (C1 ('MetaCons"Old"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :+: C1 ('MetaCons"New"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))