summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Todaro <solpeth@posteo.org>2020-07-29 11:54:38 +1000
committerSergei Trofimovich <slyfox@gentoo.org>2020-08-01 09:00:17 +0100
commita77b5838820486c1a07aa524fe1a396ff0ca14dd (patch)
tree2aba7ff0e9ff930ecf4678cddf4998dfc83ae59d /dev-haskell/tree-diff/metadata.xml
parentdev-haskell/tasty: bump up to 1.2.3 (diff)
downloadgentoo-a77b5838820486c1a07aa524fe1a396ff0ca14dd.tar.gz
gentoo-a77b5838820486c1a07aa524fe1a396ff0ca14dd.tar.bz2
gentoo-a77b5838820486c1a07aa524fe1a396ff0ca14dd.zip
dev-haskell/tree-diff: add package
Package-Manager: Portage-3.0.1, Repoman-2.3.23 Signed-off-by: Jack Todaro <solpeth@posteo.org> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-haskell/tree-diff/metadata.xml')
-rw-r--r--dev-haskell/tree-diff/metadata.xml36
1 files changed, 36 insertions, 0 deletions
diff --git a/dev-haskell/tree-diff/metadata.xml b/dev-haskell/tree-diff/metadata.xml
new file mode 100644
index 000000000000..214ee1271465
--- /dev/null
+++ b/dev-haskell/tree-diff/metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/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&#39;t have patch function,
+ and the &quot;edit-script&quot; is a tree itself, which is useful for pretty-printing.
+
+ @
+ &gt;&gt;&gt; prettyEditExpr $ ediff (Foo 42 [True, False] &quot;old&quot;) (Foo 42 [False, False, True] &quot;new&quot;)
+ Foo
+ {fooBool = [-True, +False, False, +True],
+ fooInt = 42,
+ fooString = -&quot;old&quot; +&quot;new&quot;}
+ @
+ </longdescription>
+</pkgmetadata>