Module Diffing.Define

Define(Defs) creates the diffing types from the types defined in Defs and the functors that need to be instantatied with the diffing algorithm parameters

Parameters

module D : Defs

Signature

type nonrec change = (D.left, D.right, D.eq, D.diff) change

The type of potential changes on a list.

type patch = change list

A patch is an ordered list of changes.

module type Parameters = sig ... end
module type S = sig ... end
module Simple (_ : Parameters with type update_result := D.state) : S
module Left_variadic (_ : Parameters with type update_result := D.state * D.left array) : S
module Right_variadic (_ : Parameters with type update_result := D.state * D.right array) : S