-
Notifications
You must be signed in to change notification settings - Fork 273
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Regenerated haddocks based on bb49150
- Loading branch information
0 parents
commit 731fe57
Showing
16,209 changed files
with
5,992,626 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Unison | ||
.unison* | ||
test-output | ||
transcript-* | ||
scratch.u | ||
|
||
# Stack | ||
.stack-work | ||
stack.yaml.lock | ||
|
||
# Cabal | ||
dist-newstyle | ||
|
||
# GHC | ||
*.hie |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>Data.Algorithm.Diff</title><link href="linuwial.css" rel="stylesheet" type="text/css" title="Linuwial" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script type="text/x-mathjax-config">MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><span class="caption">Diff-0.4.1: O(ND) diff algorithm in haskell.</span><ul class="links" id="page-menu"><li><a href="src/Data.Algorithm.Diff.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) Sterling Clover 2008-2011 Kevin Charter 2011</td></tr><tr><th>License</th><td>BSD 3 Clause</td></tr><tr><th>Maintainer</th><td>[email protected]</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>Safe-Inferred</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Data.Algorithm.Diff</p></div><div id="table-of-contents"><div id="contents-list"><p class="caption" onclick="window.scrollTo(0,0)">Contents</p><ul><li><a href="#g:1">Comparing lists for differences</a></li><li><a href="#g:2">Finding chunks of differences</a></li></ul></div></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is an implementation of the O(ND) diff algorithm as described in | ||
"An O(ND) Difference Algorithm and Its Variations (1986)" | ||
<a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.4.6927">http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.4.6927</a>. It is O(mn) in space. | ||
The algorithm is the same one used by standared Unix diff.</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">type</span> <a href="#t:Diff">Diff</a> a = <a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a a</li><li class="src short"><span class="keyword">data</span> <a href="#t:PolyDiff">PolyDiff</a> a b<ul class="subs"><li>= <a href="#v:First">First</a> a</li><li>| <a href="#v:Second">Second</a> b</li><li>| <a href="#v:Both">Both</a> a b</li></ul></li><li class="src short"><a href="#v:getDiff">getDiff</a> :: <a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> a => [a] -> [a] -> [<a href="Data-Algorithm-Diff.html#t:Diff" title="Data.Algorithm.Diff">Diff</a> a]</li><li class="src short"><a href="#v:getDiffBy">getDiffBy</a> :: (a -> b -> <a href="../base-4.18.2.1/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a>) -> [a] -> [b] -> [<a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a b]</li><li class="src short"><a href="#v:getGroupedDiff">getGroupedDiff</a> :: <a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> a => [a] -> [a] -> [<a href="Data-Algorithm-Diff.html#t:Diff" title="Data.Algorithm.Diff">Diff</a> [a]]</li><li class="src short"><a href="#v:getGroupedDiffBy">getGroupedDiffBy</a> :: (a -> b -> <a href="../base-4.18.2.1/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a>) -> [a] -> [b] -> [<a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> [a] [b]]</li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:Diff" class="def">Diff</a> a = <a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a a <a href="src/Data.Algorithm.Diff.html#Diff" class="link">Source</a> <a href="#t:Diff" class="selflink">#</a></p><div class="doc"><p>This is <code><a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a></code> specialized so both sides are the same type.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:PolyDiff" class="def">PolyDiff</a> a b <a href="src/Data.Algorithm.Diff.html#PolyDiff" class="link">Source</a> <a href="#t:PolyDiff" class="selflink">#</a></p><div class="doc"><p>A value is either from the <code><a href="Data-Algorithm-Diff.html#v:First" title="Data.Algorithm.Diff">First</a></code> list, the <code><a href="Data-Algorithm-Diff.html#v:Second" title="Data.Algorithm.Diff">Second</a></code> or from <code><a href="Data-Algorithm-Diff.html#v:Both" title="Data.Algorithm.Diff">Both</a></code>. | ||
<code><a href="Data-Algorithm-Diff.html#v:Both" title="Data.Algorithm.Diff">Both</a></code> contains both the left and right values, in case you are using a form | ||
of equality that doesn't check all data (for example, if you are using a | ||
newtype to only perform equality on side of a tuple).</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:First" class="def">First</a> a</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Second" class="def">Second</a> b</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Both" class="def">Both</a> a b</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><h4 class="instances details-toggle-control details-toggle" data-details-id="i:PolyDiff">Instances</h4><details id="i:PolyDiff" open="open"><summary class="hide-when-js-enabled">Instances details</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:PolyDiff:Show:1"></span> (<a href="../base-4.18.2.1/Text-Show.html#t:Show" title="Text.Show">Show</a> a, <a href="../base-4.18.2.1/Text-Show.html#t:Show" title="Text.Show">Show</a> b) => <a href="../base-4.18.2.1/Text-Show.html#t:Show" title="Text.Show">Show</a> (<a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a b)</span> <a href="src/Data.Algorithm.Diff.html#line-38" class="link">Source</a> <a href="#t:PolyDiff" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:PolyDiff:Show:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Algorithm-Diff.html">Data.Algorithm.Diff</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="../base-4.18.2.1/Data-Int.html#t:Int" title="Data.Int">Int</a> -> <a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a b -> <a href="../base-4.18.2.1/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a b -> <a href="../base-4.18.2.1/Data-String.html#t:String" title="Data.String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a b] -> <a href="../base-4.18.2.1/Text-Show.html#t:ShowS" title="Text.Show">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:PolyDiff:Eq:2"></span> (<a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> a, <a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> b) => <a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> (<a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a b)</span> <a href="src/Data.Algorithm.Diff.html#line-38" class="link">Source</a> <a href="#t:PolyDiff" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><details id="i:id:PolyDiff:Eq:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Data-Algorithm-Diff.html">Data.Algorithm.Diff</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a b -> <a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a b -> <a href="../base-4.18.2.1/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a b -> <a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a b -> <a href="../base-4.18.2.1/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><a href="#g:1" id="g:1"><h1>Comparing lists for differences</h1></a><div class="top"><p class="src"><a id="v:getDiff" class="def">getDiff</a> :: <a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> a => [a] -> [a] -> [<a href="Data-Algorithm-Diff.html#t:Diff" title="Data.Algorithm.Diff">Diff</a> a] <a href="src/Data.Algorithm.Diff.html#getDiff" class="link">Source</a> <a href="#v:getDiff" class="selflink">#</a></p><div class="doc"><p>Takes two lists and returns a list of differences between them. This is | ||
<code><a href="Data-Algorithm-Diff.html#v:getDiffBy" title="Data.Algorithm.Diff">getDiffBy</a></code> with <code><a href="../base-4.18.2.1/Data-Eq.html#v:-61--61-" title="Data.Eq">==</a></code> used as predicate.</p></div></div><div class="top"><p class="src"><a id="v:getDiffBy" class="def">getDiffBy</a> :: (a -> b -> <a href="../base-4.18.2.1/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a>) -> [a] -> [b] -> [<a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> a b] <a href="src/Data.Algorithm.Diff.html#getDiffBy" class="link">Source</a> <a href="#v:getDiffBy" class="selflink">#</a></p><div class="doc"><p>A form of <code><a href="Data-Algorithm-Diff.html#v:getDiff" title="Data.Algorithm.Diff">getDiff</a></code> with no <code><a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a></code> constraint. Instead, an equality predicate | ||
is taken as the first argument.</p></div></div><a href="#g:2" id="g:2"><h1>Finding chunks of differences</h1></a><div class="top"><p class="src"><a id="v:getGroupedDiff" class="def">getGroupedDiff</a> :: <a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> a => [a] -> [a] -> [<a href="Data-Algorithm-Diff.html#t:Diff" title="Data.Algorithm.Diff">Diff</a> [a]] <a href="src/Data.Algorithm.Diff.html#getGroupedDiff" class="link">Source</a> <a href="#v:getGroupedDiff" class="selflink">#</a></p><div class="doc"><p>Takes two lists and returns a list of differences between them, grouped | ||
into chunks. This is <code><a href="Data-Algorithm-Diff.html#v:getGroupedDiffBy" title="Data.Algorithm.Diff">getGroupedDiffBy</a></code> with <code><a href="../base-4.18.2.1/Data-Eq.html#v:-61--61-" title="Data.Eq">==</a></code> used as predicate.</p></div></div><div class="top"><p class="src"><a id="v:getGroupedDiffBy" class="def">getGroupedDiffBy</a> :: (a -> b -> <a href="../base-4.18.2.1/Data-Bool.html#t:Bool" title="Data.Bool">Bool</a>) -> [a] -> [b] -> [<a href="Data-Algorithm-Diff.html#t:PolyDiff" title="Data.Algorithm.Diff">PolyDiff</a> [a] [b]] <a href="src/Data.Algorithm.Diff.html#getGroupedDiffBy" class="link">Source</a> <a href="#v:getGroupedDiffBy" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.29.2</p></div></body></html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>Data.Algorithm.DiffContext</title><link href="linuwial.css" rel="stylesheet" type="text/css" title="Linuwial" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400i,700" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script type="text/x-mathjax-config">MathJax.Hub.Config({ tex2jax: { processClass: "mathjax", ignoreClass: ".*" } });</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><span class="caption">Diff-0.4.1: O(ND) diff algorithm in haskell.</span><ul class="links" id="page-menu"><li><a href="src/Data.Algorithm.DiffContext.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) David Fox (2015)</td></tr><tr><th>License</th><td>BSD 3 Clause</td></tr><tr><th>Maintainer</th><td>[email protected]</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>Safe-Inferred</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Data.Algorithm.DiffContext</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Generates a grouped diff with merged runs, and outputs them in the manner of diff -u</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><a href="#v:getContextDiff">getContextDiff</a> :: <a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> a => <a href="../base-4.18.2.1/Data-Int.html#t:Int" title="Data.Int">Int</a> -> [a] -> [a] -> ContextDiff a</li><li class="src short"><a href="#v:getContextDiffOld">getContextDiffOld</a> :: <a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> a => <a href="../base-4.18.2.1/Data-Int.html#t:Int" title="Data.Int">Int</a> -> [a] -> [a] -> ContextDiff a</li><li class="src short"><a href="#v:prettyContextDiff">prettyContextDiff</a> :: <a href="../pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a> -> <a href="../pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a> -> (c -> <a href="../pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a>) -> ContextDiff c -> <a href="../pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a></li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:getContextDiff" class="def">getContextDiff</a> :: <a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> a => <a href="../base-4.18.2.1/Data-Int.html#t:Int" title="Data.Int">Int</a> -> [a] -> [a] -> ContextDiff a <a href="src/Data.Algorithm.DiffContext.html#getContextDiff" class="link">Source</a> <a href="#v:getContextDiff" class="selflink">#</a></p><div class="doc"><p>See <a href="https://github.com/seereason/Diff/commit/35596ca45fdd6ee2559cf610bef7a86b4617988a">https://github.com/seereason/Diff/commit/35596ca45fdd6ee2559cf610bef7a86b4617988a</a>. | ||
The original <code><a href="Data-Algorithm-DiffContext.html#v:getContextDiff" title="Data.Algorithm.DiffContext">getContextDiff</a></code> omitted trailing context in diff hunks. | ||
This new one corrects the issue. Here is the example from the test | ||
suite:</p><pre>prettyContextDiff (text "file1") (text "file2") text (getContextDiffOld 2 (lines textA) (lines textB))</pre><ul><li>-- file1 | ||
+++ file2 | ||
@@ | ||
a | ||
b</li><li>c | ||
@<code> | ||
d | ||
e | ||
</code>@ | ||
i | ||
j</li><li>k</li></ul><pre>prettyContextDiff (text "file1") (text "file2") text (getContextDiff 2 (lines textA) (lines textB))</pre><ul><li>-- file1 | ||
+++ file2 | ||
@@ | ||
a | ||
b</li><li>c | ||
d | ||
e | ||
@@ | ||
i | ||
j</li><li>k</li></ul></div></div><div class="top"><p class="src"><a id="v:getContextDiffOld" class="def">getContextDiffOld</a> :: <a href="../base-4.18.2.1/Data-Eq.html#t:Eq" title="Data.Eq">Eq</a> a => <a href="../base-4.18.2.1/Data-Int.html#t:Int" title="Data.Int">Int</a> -> [a] -> [a] -> ContextDiff a <a href="src/Data.Algorithm.DiffContext.html#getContextDiffOld" class="link">Source</a> <a href="#v:getContextDiffOld" class="selflink">#</a></p><div class="doc"><p>Do a grouped diff and then split up the chunks into runs that | ||
contain differences surrounded by N lines of unchanged text. If | ||
there is less then 2N+1 lines of unchanged text between two | ||
changes, the runs are left merged.</p></div></div><div class="top"><p class="src"><a id="v:prettyContextDiff" class="def">prettyContextDiff</a> <a href="src/Data.Algorithm.DiffContext.html#prettyContextDiff" class="link">Source</a> <a href="#v:prettyContextDiff" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="../pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a></td><td class="doc"><p>Document 1 name</p></td></tr><tr><td class="src">-> <a href="../pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a></td><td class="doc"><p>Document 2 name</p></td></tr><tr><td class="src">-> (c -> <a href="../pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a>)</td><td class="doc"><p>Element pretty printer</p></td></tr><tr><td class="src">-> ContextDiff c</td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="../pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Pretty print a ContextDiff in the manner of diff -u.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.29.2</p></div></body></html> |
Large diffs are not rendered by default.
Oops, something went wrong.
Binary file not shown.
Oops, something went wrong.