cabal-version: >=1.10 name: tree-diff version: 0.0.2 x-revision: 1 synopsis: Diffing of (expression) trees. category: Data, Testing 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 , 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"} @ homepage: https://github.com/phadej/tree-diff bug-reports: https://github.com/phadej/tree-diff/issues license: BSD3 license-file: LICENSE author: Oleg Grenrus maintainer: Oleg.Grenrus copyright: (c) 2017-2018 Oleg Grenrus build-type: Simple extra-source-files: README.md ChangeLog.md tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.4, GHc==8.6.3 extra-source-files: fixtures/exfoo.expr source-repository head type: git location: https://github.com/phadej/tree-diff.git library exposed-modules: Data.TreeDiff Data.TreeDiff.List Data.TreeDiff.Tree Data.TreeDiff.Expr Data.TreeDiff.Class Data.TreeDiff.Pretty Data.TreeDiff.Parser Data.TreeDiff.Golden Data.TreeDiff.QuickCheck build-depends: base >=4.7 && <4.13, aeson >=1.2.1.0 && <1.5, ansi-wl-pprint >=0.6.8.1 && <0.7, ansi-terminal >=0.6.3.1 && <0.10, base-compat >=0.9.3 && <0.11, bytestring >=0.10.4.0 && <0.11, containers >=0.5.5.1 && <0.7, generics-sop >=0.3.1.0 && <0.5, hashable >=1.2.6.1 && <1.3, MemoTrie >=0.6.8 && <0.7, parsec >=3.1.11 && <3.2, parsers >=0.12.7 && <0.13, pretty >=1.1.1.1 && <1.2, QuickCheck >=2.10.0.1 && <2.13, scientific >=0.3.5.2 && <0.4, tagged >=0.8.5 && <0.9, text >=1.2.2.2 && <1.3, time >=1.4.2 && <1.9, unordered-containers >=0.2.8.0 && <0.3, uuid-types >=1.0.3 && <1.1, vector >=0.12 && <0.13 if !impl(ghc >= 8.0) build-depends: semigroups >=0.18.3 && <0.19 if !impl(ghc >= 7.10) build-depends: void >=0.7.2 && <0.8, nats >=1.1.1 && <1.2, transformers >=0.3.0.0 && <0.6 other-extensions: ConstraintKinds CPP DefaultSignatures FlexibleContexts GADTs RankNTypes ScopedTypeVariables hs-source-dirs: src default-language: Haskell2010 test-suite test default-language: Haskell2010 type: exitcode-stdio-1.0 main-is: Tests.hs hs-source-dirs: tests ghc-options: -Wall -threaded build-depends: base, tree-diff, base-compat, QuickCheck, ansi-terminal, ansi-wl-pprint, parsec, trifecta >=1.7.1.1 && <2.1, tasty >=0.11.2.5 && <1.3, tasty-golden >=2.3.1.1 && <2.4, tasty-quickcheck >=0.9.1 && <0.11