Diffing.Define(3) OCaml library Diffing.Define(3)

# [NAME](#NAME)

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

# [Module](#Module)

Module Diffing.Define

# [Documentation](#Documentation)

Module **Define**  
: **(D : Defs) -&gt; sig end**

**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:**

"D"

**Diffing.Defs**

*type change* = **(D.left, D.right, D.eq, D.diff) Diffing.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 :* **sig end -&gt; S**

*module Left\_variadic :* **sig end -&gt; S**

## [Variadic diffing](#Variadic_diffing)

Variadic diffing allows to expand the lists being diffed during diffing. in one specific direction.

*module Right\_variadic :* **sig end -&gt; S**

2026-10-23 OCamldoc

---

Document: Diffing.Define(3o) from ocaml 5.5.2-r0 (Chainguard OS)
Source: https://github.com/ocaml/ocaml
