-
Notifications
You must be signed in to change notification settings - Fork 16
/
tree-diff.cabal
174 lines (156 loc) · 4.33 KB
/
tree-diff.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
cabal-version: 2.2
name: tree-diff
version: 0.3.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: GPL-2.0-or-later
license-file: LICENSE
author: Oleg Grenrus <[email protected]>
maintainer: Oleg.Grenrus <[email protected]>
copyright: (c) 2017-2021 Oleg Grenrus
build-type: Simple
extra-source-files:
ChangeLog.md
README.md
tested-with:
GHC ==8.6.5
|| ==8.8.4
|| ==8.10.7
|| ==9.0.2
|| ==9.2.8
|| ==9.4.8
|| ==9.6.5
|| ==9.8.2
|| ==9.10.1
extra-source-files:
fixtures/exfoo.expr
fixtures/MyInt1.expr
fixtures/MyInt2.expr
fixtures/MyInt3.expr
fixtures/Positional.expr
source-repository head
type: git
location: https://github.com/phadej/tree-diff.git
library
exposed-modules:
Data.TreeDiff
Data.TreeDiff.Class
Data.TreeDiff.Expr
Data.TreeDiff.Golden
Data.TreeDiff.List
Data.TreeDiff.OMap
Data.TreeDiff.Parser
Data.TreeDiff.Pretty
Data.TreeDiff.QuickCheck
Data.TreeDiff.Tree
-- GHC boot libraries
build-depends:
, base >=4.12.0.0 && <4.21
, bytestring ^>=0.10.8.2 || ^>=0.11.0.0 || ^>=0.12.0.2
, containers ^>=0.6.0.1 || ^>=0.7
, deepseq ^>=1.4.4.0 || ^>=1.5.0.0
, parsec ^>=3.1.13.0
, pretty ^>=1.1.1.0
, text ^>=1.2.3.0 || ^>=2.0 || ^>=2.1
, time ^>=1.8.0.2 || ^>=1.9.3 || ^>=1.10 || ^>=1.11 || ^>=1.12
build-depends:
, aeson ^>=2.2.0.0
, ansi-terminal ^>=1.1
, ansi-wl-pprint ^>=1.0.2
, hashable ^>=1.4.4.0 || ^>=1.5.0.0
, parsers ^>=0.12.11
, primitive ^>=0.9.0.0
, QuickCheck ^>=2.14.2 || ^>=2.15
, scientific ^>=0.3.8.0
, semialign ^>=1.3.1
, strict ^>=0.5
, tagged ^>=0.8.8
, these ^>=1.2.1
, unordered-containers ^>=0.2.20
, uuid-types ^>=1.0.6
, vector ^>=0.13.1.0
if (impl(ghc >=8) && !impl(ghc >=9.4))
build-depends: data-array-byte ^>=0.1.0.1
other-extensions:
CPP
ConstraintKinds
DefaultSignatures
FlexibleContexts
GADTs
RankNTypes
ScopedTypeVariables
TypeOperators
hs-source-dirs: src
default-language: Haskell2010
test-suite tree-diff-test
default-language: Haskell2010
type: exitcode-stdio-1.0
main-is: Tests.hs
hs-source-dirs: tests src-diff
ghc-options: -Wall -threaded
other-modules: RefDiffBy
-- dependencies from library
build-depends:
, ansi-terminal
, ansi-wl-pprint
, base
, parsec
, primitive
, QuickCheck
, tagged
, tree-diff
, unordered-containers
if (impl(ghc >=8) && !impl(ghc >=9.4))
build-depends: data-array-byte
if impl(ghc <7.5)
build-depends: ghc-prim
-- extra dependencies
build-depends:
, tasty ^>=1.5
, tasty-golden ^>=2.3.5
, tasty-quickcheck ^>=0.10.3 || ^>=0.11
, trifecta ^>=2.1.4
benchmark tree-diff-bench
default-language: Haskell2010
type: exitcode-stdio-1.0
main-is: tree-diff-bench.hs
hs-source-dirs: bench
ghc-options: -Wall -threaded
-- dependencies from library
build-depends:
, base
, deepseq
, tree-diff
-- extra dependencies
build-depends:
, criterion ^>=1.6.3.0
, Diff ^>=0.5