text_delta v1.1.0 TextDelta.Transformation
The transformation of two concurrent operations such that they satisfy the convergence properties of Operational Transformation.
Transformation allows optimistic conflict resolution in concurrent editing. Given an operation A that occurred at the same time as operation B against the same text state, we can transform the components of operation A such that the state of the text after applying operation A and then operation B is the same as after applying operation B and then the transformation of operation A against operation B:
S ○ Oa ○ transform(Ob, Oa) = S ○ Ob ○ transform(Oa, Ob)
There is a great article writte on Operational Transformation that author of this library used. It is called Understanding and Applying Operational Transformation.
Summary
Types
Atom representing transformation priority. Which delta came first?
Functions
Transforms right
delta against the left
one
Types
Functions
Transforms right
delta against the left
one.
The function also takes a third TextDelta.Transformation.priority/0
argument that indicates which delta came first. This is important when
deciding whether it is acceptable to break up insert operations from one
delta or the other.