The latest version of tree-diff is 0.3.3-0.

tree-diff

Version 0.0.0.1 revision 0 uploaded by phadej.

Package meta

Synopsis
Diffing of (expression) trees.
Description

Common diff algorithm works on list structures:

diff :: Eq a => [a] -> [a] -> [Edit a]

This package works on trees.

treeDiff :: Eq a => Tree a -> Tree a -> Edit (EditTree a)

This package also provides a way to diff arbitrary ADTs, using Generics-derivable helpers.

This package differs from gdiff, in a two ways: tree-diff doesn't have patch function, and the "edit-script" is a tree itself, which is useful for pretty-printing.

>>> prettyEditExpr $ ediff (Foo 42 [True, False] "old") (Foo 42 [False, False, True] "new")
Foo
{fooBool = [-True, +False, False, +True],
fooInt = 42,
fooString = -"old" +"new"}
Author
Oleg Grenrus <oleg.grenrus@iki.fi>
Bug reports
https://github.com/phadej/tree-diff/issues
Category
Data
Copyright
(c) 2017 Oleg Grenrus
Homepage
https://github.com/phadej/tree-diff
Maintainer
Oleg.Grenrus <oleg.grenrus@iki.fi>
Package URL
n/a
Stability
n/a

Components