---
name: "Diffing.Define"
section: "3o"
platform: "linux"
package: "ocaml"
version: "5.5.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Diffing.Define"
---

# Diffing.Define(3o)

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

## 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   Diffing.Define

## Documentation

Module **Define**\
  :  **(D : Defs) -\> 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 -\> S**

*module Left\_variadic :* **sig end -\> S**

### Variadic diffing

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

*module Right\_variadic :* **sig end -\> S**
