patches-vector: Patches (diffs) on vectors: composable, mergeable, and invertible.

[ bsd3, data, library ] [ Propose Tags ]

A patch is a collection of modifications (edits) to be made to a sequence of elements. Commonly found in version control systems, patches are also a simple example of a groupoid, supporting (partial) composition and inversion.

This library provides a pleasant interface for working with patches to vectors with any type of element. It includes patch composition, inversion, and application, as well as a way to compute a patch between two vectors using the Wagner-Fischer algorithm.

It also includes a simple implementation of the Operational Transform (OT) function to resolve diverging patches from the same document. This allows for reasonably painless implementation of merge functions, as well as many applications in distributed editing of documents.

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.1.0, 0.1.2.0, 0.1.3.0, 0.1.4.0, 0.1.4.1, 0.1.4.2, 0.1.4.3, 0.1.4.4, 0.1.5.0, 0.1.5.1, 0.1.5.2, 0.1.5.4
Dependencies base (>=4.7 && <5), edit-distance-vector (>=1.0 && <1.1), microlens (>=0.2 && <0.5), vector (>=0.10 && <0.12) [details]
License BSD-3-Clause
Copyright Liam O'Connor, 2015
Author Liam O'Connor
Maintainer liamoc@cse.unsw.edu.au
Category Data
Home page https://github.com/liamoc/patches-vector
Source repo head: git clone https://github.com/liamoc/patches-vector
Uploaded by LiamOConnorDavis at 2016-11-29T09:04:48Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 8893 total (47 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2016-11-29 [all 1 reports]