hackage-cli-0.0.3.6: fixtures/tree-diff.0.cabal
cabal-version: >=1.10
name: tree-diff
version: 0.0.2
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 <http://hackage.haskell.org/package/gdiff 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"}
@
homepage: https://github.com/phadej/tree-diff
bug-reports: https://github.com/phadej/tree-diff/issues
license: BSD3
license-file: LICENSE
author: Oleg Grenrus <oleg.grenrus@iki.fi>
maintainer: Oleg.Grenrus <oleg.grenrus@iki.fi>
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.2
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.9,
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.2,
tasty-golden >=2.3.1.1 && <2.4,
tasty-quickcheck >=0.9.1 && <0.11