Module Diffing.DefineSource

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

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

The type of potential changes on a list.

Sourcetype patch = change list

A patch is an ordered list of changes.

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