summaryrefslogtreecommitdiff
path: root/dev-haskell/tree-diff/metadata.xml
blob: 002329a74d92b1f45d17440f24a5a5f74a24d584 (plain)
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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
 <maintainer type="project">
  <email>haskell@gentoo.org</email>
  <name>Gentoo Haskell</name>
 </maintainer>
 <longdescription>
		Common diff algorithm works on list structures:
		
		@
		diff :: Eq a =&gt; [a] -&gt; [a] -&gt; [Edit a]
		@
		
		This package works on trees.
		
		@
		treeDiff :: Eq a =&gt; Tree a -&gt; Tree a -&gt; Edit (EditTree a)
		@
		
		This package also provides a way to diff arbitrary ADTs,
		using @Generics@-derivable helpers.
		
		This package differs from &lt;http://hackage.haskell.org/package/gdiff gdiff&gt;,
		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.
		
		@
		&gt;&gt;&gt; prettyEditExpr $ ediff (Foo 42 [True, False] "old") (Foo 42 [False, False, True] "new")
		Foo
		{fooBool = [-True, +False, False, +True],
		fooInt = 42,
		fooString = -"old" +"new"}
		@
	</longdescription>
 
 <origin>gentoo-staging</origin>
</pkgmetadata>