This is PolyDiff specialized so both sides are the same type.
ModuleDiff-1.0.2Haskell2010
Data.Algorithm.Diff
This is an implementation of the diff algorithm as described in
An O(ND) Difference Algorithm and Its Variations (1986)
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.4.6927.
For inputs of size O(N) with the number of differences D
it has O(ND) time and O(D^2) space complexity.
- 2 types
- 4 values
- PackageDiff-1.0.2
- Exports6
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceDiff.hs
Instances4Bifunctor, Functor, Eq, Show
Comparing lists for differences
2 declarationsTakes two lists and returns a list of differences between them. This is getDiffBy with == used as predicate.
> getDiff ["a","b","c","d","e"] ["a","c","d","f"]
[Both "a" "a",First "b",Both "c" "c",Both "d" "d",First "e",Second "f"]
> getDiff "abcde" "acdf"
[Both 'a' 'a',First 'b',Both 'c' 'c',Both 'd' 'd',First 'e',Second 'f']Finding chunks of differences
2 declarationsTakes two lists and returns a list of differences between them, grouped into chunks. This is getGroupedDiffBy with == used as predicate.
> getGroupedDiff "abcde" "acdf"
[Both "a" "a",First "b",Both "cd" "cd",First "e",Second "f"]