| Copyright | (c) Sterling Clover 2008-2011 Kevin Charter 2011 | 
|---|---|
| License | BSD 3 Clause | 
| Maintainer | s.clover@gmail.com | 
| Stability | experimental | 
| Portability | portable | 
| Safe Haskell | Safe-Inferred | 
| Language | Haskell2010 | 
Data.Algorithm.Diff
Description
This is an implementation of the O(ND) 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. It is O(mn) in space. The algorithm is the same one used by standared Unix diff.
Synopsis
Documentation
A value is either from the First list, the Second or from Both.
 Both contains both the left and right values, in case you are using a form
 of equality that doesn't check all data (for example, if you are using a
 newtype to only perform equality on side of a tuple).
Comparing lists for differences
Finding chunks of differences
getGroupedDiff :: Eq a => [a] -> [a] -> [Diff [a]] Source #
Takes two lists and returns a list of differences between them, grouped
 into chunks. This is getGroupedDiffBy with == used as predicate.
getGroupedDiffBy :: (a -> b -> Bool) -> [a] -> [b] -> [PolyDiff [a] [b]] Source #