Safe Haskell | Safe-Infered |
---|
Documentation
data RealPatch prim x y Source
RealPatch
is used to represents prim patches that are duplicates of, or
conflict with, another prim patch in the repository.
Normal prim
: A primitive patch
Duplicate x
: This patch has no effect since x
is already present in the
repository.
Etacilpud x: invert (Duplicate x)
Conflictor ix xx x
:
ix
is the set of patches:
* that conflict with x
and also conflict with another patch in the
repository.
* that conflict with a patch that conflict with x
xx
is the sequence of patches that conflict *only* with x
x
is the original, conflicting patch.
ix
and x
are stored as Non
objects, which include any necessary
context to uniquely define the patch that is referred to.
The intuition is that a Conflictor should have the effect of inverting any
patches that x
conflicts with, that haven't already been undone by another
Conflictor in the repository.
Therefore, the effect of a Conflictor is invert xx
.
InvConflictor ix xx x
: like invert (Conflictor ix xx x)