BSD-3-Clause licensed by Tom McLaughlin
Maintained by [email protected]
This version can be pinned in stack with:myers-diff-0.2.0.0@sha256:157bd9141fb21a17e195f328b10b8a8650f78065a36e8cb1d3cb919469ef45cc,7188

Module documentation for 0.2.0.0

Welcome to myers-diff Hackage myers-diff

This is a fast Haskell implementation of the Myers text diff algorithm[^1]. It is heavily inspired by the Python version in this post, and should have the same O(min(len(a), len(b))) space complexity. (By contrast, the Diff package advertises O(ab) space complexity.) The implementation uses unboxed mutable vectors for performance.

This repo also can also build a couple other versions for benchmarking comparison, gated behind flags.

  • -funi_myers will build the version from the uni-util package.
  • -fdiff_myers will use the Diff package.

[^1]: E. Myers (1986). “An O(ND) Difference Algorithm and Its Variations”. Algorithmica. 1 (2): 251–266. CiteSeerX 10.1.1.4.6927. doi:10.1007/BF01840446. S2CID 6996809.

Changes

Changelog for myers-diff

Unreleased

0.2.0.0

  • Tidy modules and add haddocks

0.1.0.0

  • Initial release.