package coq

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

An implementation of Eugene Myers' O(ND) Difference Algorithm[1]. This implementation is a port of util.lcs module of Gauche Scheme interpreter.

  • [1] Eugene Myers, An O(ND) Difference Algorithm and Its Variations, Algorithmica Vol. 1 No. 2, pp. 251-266, 1986.
type 'a common = [
  1. | `Common of int * int * 'a
]

an element of lcs of seq1 and seq2

type 'a edit = [
  1. | `Removed of int * 'a
  2. | `Added of int * 'a
  3. | 'a common
]

an element of diff of seq1 and seq2.

module type SeqType = sig ... end

Input signature of Diff.Make.

module type S = sig ... end

Output signature of Diff.Make.

module Make (M : SeqType) : S with type t = M.t and type elem = M.elem

Functor building an implementation of the diff structure given a sequence type.