ot-0.1.2.2: Real-time collaborative editing with Operational Transformation

Safe HaskellSafe-Inferred
LanguageHaskell98

Control.OperationalTransformation

Documentation

class OTOperation op where Source

Methods

transform :: op -> op -> Either String (op, op) Source

Transforms two concurrent operations a and b, producing a' and b' such that b' ∘ a == a' ∘ b.

class OTOperation op => OTSystem doc op where Source

Methods

apply :: op -> doc -> Either String doc Source

Apply an operation to a document, producing a new document.

Instances

OTSystem doc TextOperation => OTSystem doc AugmentedTextOperation 
OTSystem Text TextOperation 
OTSystem doc op => OTSystem doc [op] 
(OTSystem doca a, OTSystem docb b) => OTSystem (doca, docb) (a, b) 
(OTSystem doca a, OTSystem docb b, OTSystem docc c) => OTSystem (doca, docb, docc) (a, b, c) 
(OTSystem doca a, OTSystem docb b, OTSystem docc c, OTSystem docd d) => OTSystem (doca, docb, docc, docd) (a, b, c, d) 
(OTSystem doca a, OTSystem docb b, OTSystem docc c, OTSystem docd d, OTSystem doce e) => OTSystem (doca, docb, docc, docd, doce) (a, b, c, d, e)