24 List representation of composite operations

There is a canonical implementation of composite operations based on the representation as an ordered list of atomic operations. Note the following:

  • An empty list represents an empty composite operation
  • The merge O1 ⊕ O2 of context serialised composite operations O1, O2 is implemented using list concatenation.
  • IT and ET on composite operations involves the list based extensions of IT and ET. See LIT1, LIT2, LIT3 defined in Operational transform Merging operations.
  • Factorisation of a composite operation with respect to vector time v involves transpose of adjacent operations to separate the list into prefix and suffix, where the prefix is in 𝜒(v) and the suffix is outside 𝜒(v). The Lfactor is the prefix and the RFactor is the suffix.