myers-diff

[ bsd3, library, unclassified ] [ Propose Tags ]

Modules

[Index] [Quick Jump]

Flags

Manual Flags

NameDescriptionDefault
diff_myers

Include the diff implementation from the Diff package

Disabled
uni_myers

Use the diff implementation from the "uni-util" package (buggy). This causes LGPL code to be included.

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.2.0.0, 0.3.0.0
Change log CHANGELOG.md
Dependencies base (>=4.7 && <5), containers, deepseq, exceptions, myers-diff, primitive, QuickCheck, quickcheck-instances, string-interpolate, text, text-rope, vector [details]
License BSD-3-Clause
Copyright 2023 Tom McLaughlin
Author Tom McLaughlin
Maintainer tom@codedown.io
Home page https://github.com/codedownio/myers-diff#readme
Bug tracker https://github.com/codedownio/myers-diff/issues
Source repo head: git clone https://github.com/codedownio/myers-diff
Uploaded by thomasjm at 2023-03-30T22:47:34Z
Distributions LTSHaskell:0.3.0.0, NixOS:0.3.0.0, Stackage:0.3.0.0
Executables myers-diff
Downloads 157 total (16 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-03-30 [all 1 reports]

Readme for myers-diff-0.1.0.0

[back to package description]

Welcome to myers-diff

This is a fast Haskell implementation of the Myers text diff algorithm1. 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.