<!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" /><title>Darcs.Patch.Depends</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[ window.onload = function () {pageLoad();setSynopsis("mini_Darcs-Patch-Depends.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Darcs-Patch-Depends.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">darcs-2.8.3: a distributed, interactive, smart revision control system</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe-Infered</td></tr></table><p class="caption">Darcs.Patch.Depends</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:getTagsRight">getTagsRight</a> :: <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> [<a href="Darcs-Patch-Info.html#t:PatchInfo">PatchInfo</a>]</li><li class="src short"><a href="#v:areUnrelatedRepos">areUnrelatedRepos</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:mergeThem">mergeThem</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> <a href="Darcs-Witnesses-Sealed.html#t:Sealed">Sealed</a> (<a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) x)</li><li class="src short"><a href="#v:findCommonWithThem">findCommonWithThem</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> (<a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p <a href="Darcs-Witnesses-Ordered.html#t::-62-">:></a> <a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p)) start x</li><li class="src short"><a href="#v:countUsThem">countUsThem</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a>)</li><li class="src short"><a href="#v:removeFromPatchSet">removeFromPatchSet</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) x y -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x)</li><li class="src short"><a href="#v:optimizePatchset">optimizePatchset</a> :: <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x</li><li class="src short"><a href="#v:deepOptimizePatchset">deepOptimizePatchset</a> :: <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x</li><li class="src short"><a href="#v:slightlyOptimizePatchset">slightlyOptimizePatchset</a> :: <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x</li><li class="src short"><a href="#v:getPatchesBeyondTag">getPatchesBeyondTag</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Info.html#t:PatchInfo">PatchInfo</a> -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Witnesses-Sealed.html#t:FlippedSeal">FlippedSeal</a> (<a href="Darcs-Witnesses-Ordered.html#t:RL">RL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p)) x</li><li class="src short"><a href="#v:getPatchesInTag">getPatchesInTag</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Info.html#t:PatchInfo">PatchInfo</a> -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:SealedPatchSet">SealedPatchSet</a> p start</li><li class="src short"><a href="#v:splitOnTag">splitOnTag</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Info.html#t:PatchInfo">PatchInfo</a> -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> (<a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p <a href="Darcs-Witnesses-Ordered.html#t::-62-">:></a> <a href="Darcs-Witnesses-Ordered.html#t:RL">RL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p)) start x</li><li class="src short"><a href="#v:newsetUnion">newsetUnion</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => [<a href="Darcs-Patch-Set.html#t:SealedPatchSet">SealedPatchSet</a> p start] -> <a href="Darcs-Patch-Set.html#t:SealedPatchSet">SealedPatchSet</a> p start</li><li class="src short"><a href="#v:newsetIntersection">newsetIntersection</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => [<a href="Darcs-Patch-Set.html#t:SealedPatchSet">SealedPatchSet</a> p start] -> <a href="Darcs-Patch-Set.html#t:SealedPatchSet">SealedPatchSet</a> p start</li><li class="src short"><a href="#v:commuteToEnd">commuteToEnd</a> :: <span class="keyword">forall</span> p start x y. <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Witnesses-Ordered.html#t:RL">RL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) x y -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> (<a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p <a href="Darcs-Witnesses-Ordered.html#t::-62-">:></a> <a href="Darcs-Witnesses-Ordered.html#t:RL">RL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p)) start x</li><li class="src short"><a href="#v:findUncommon">findUncommon</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> (<a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) <a href="Darcs-Witnesses-Ordered.html#t::-92--47-:">:\/:</a> <a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p)) x y</li><li class="src short"><a href="#v:merge2FL">merge2FL</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) x y -> <a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) x z -> <a href="Darcs-Witnesses-Sealed.html#t:Sealed">Sealed</a> (<a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) y)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:getTagsRight" class="def">getTagsRight</a> :: <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> [<a href="Darcs-Patch-Info.html#t:PatchInfo">PatchInfo</a>]<a href="src/Darcs-Patch-Depends.html#getTagsRight" class="link">Source</a></p><div class="doc"><p><code>getTagsRight ps</code> returns the <code><a href="Darcs-Patch-Info.html#t:PatchInfo">PatchInfo</a></code> for all the patches in <code>ps</code> that are not depended on by anything else *through explicit dependencies*. Tags are a likely candidate, although we may also find some non-tag patches in this list. </p><p>Keep in mind that in a typical repository with a lot of tags, only a small fraction of tags would be returned as they would be at least indirectly depended on by the topmost ones. </p></div></div><div class="top"><p class="src"><a name="v:areUnrelatedRepos" class="def">areUnrelatedRepos</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Darcs-Patch-Depends.html#areUnrelatedRepos" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:mergeThem" class="def">mergeThem</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> <a href="Darcs-Witnesses-Sealed.html#t:Sealed">Sealed</a> (<a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) x)<a href="src/Darcs-Patch-Depends.html#mergeThem" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:findCommonWithThem" class="def">findCommonWithThem</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> (<a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p <a href="Darcs-Witnesses-Ordered.html#t::-62-">:></a> <a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p)) start x<a href="src/Darcs-Patch-Depends.html#findCommonWithThem" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:countUsThem" class="def">countUsThem</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a>)<a href="src/Darcs-Patch-Depends.html#countUsThem" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:removeFromPatchSet" class="def">removeFromPatchSet</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) x y -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x)<a href="src/Darcs-Patch-Depends.html#removeFromPatchSet" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:optimizePatchset" class="def">optimizePatchset</a> :: <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x<a href="src/Darcs-Patch-Depends.html#optimizePatchset" class="link">Source</a></p><div class="doc"><p><code>optimizePatchset</code> is similar to <code>slightlyOptimizePatchset</code> in that it only works on the surface inventory (see below), but it works a bit harder and can optimize several tags. </p><ul><li> surface inventory: the sequence of patches that corresponds to the <code>_darcs<em>hashed\_inventory@ or @\_darcs</em>inventory</code> files </li><li> deep inventory: the sequence of sequences of patches that corresponds to the <code>_darcs/inventories</code> directory </li></ul></div></div><div class="top"><p class="src"><a name="v:deepOptimizePatchset" class="def">deepOptimizePatchset</a> :: <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x<a href="src/Darcs-Patch-Depends.html#deepOptimizePatchset" class="link">Source</a></p><div class="doc"><p><code>deepOptimizePatchset</code> runs through all patches whether they are in the surface inventory or the deep one. </p></div></div><div class="top"><p class="src"><a name="v:slightlyOptimizePatchset" class="def">slightlyOptimizePatchset</a> :: <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x<a href="src/Darcs-Patch-Depends.html#slightlyOptimizePatchset" class="link">Source</a></p><div class="doc"><p><code>slightlyOptimizePatchset</code> only works on the surface inventory (see <code><a href="Darcs-Patch-Depends.html#v:optimizePatchset">optimizePatchset</a></code>) and only optimises at most one tag in there, going for the most recent tag which has no non-depended patch after it. Older tags won't be <code>clean</code>, which means the PatchSet will not be in 'unclean :< clean' state. </p></div></div><div class="top"><p class="src"><a name="v:getPatchesBeyondTag" class="def">getPatchesBeyondTag</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Info.html#t:PatchInfo">PatchInfo</a> -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Witnesses-Sealed.html#t:FlippedSeal">FlippedSeal</a> (<a href="Darcs-Witnesses-Ordered.html#t:RL">RL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p)) x<a href="src/Darcs-Patch-Depends.html#getPatchesBeyondTag" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getPatchesInTag" class="def">getPatchesInTag</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Info.html#t:PatchInfo">PatchInfo</a> -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:SealedPatchSet">SealedPatchSet</a> p start<a href="src/Darcs-Patch-Depends.html#getPatchesInTag" class="link">Source</a></p><div class="doc"><p><code>getPatchesInTag t ps</code> returns a <code><a href="Darcs-Patch-Set.html#t:SealedPatchSet">SealedPatchSet</a></code> of all patches in <code>ps</code> which are contained in <code>t</code>. </p></div></div><div class="top"><p class="src"><a name="v:splitOnTag" class="def">splitOnTag</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Info.html#t:PatchInfo">PatchInfo</a> -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> (<a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p <a href="Darcs-Witnesses-Ordered.html#t::-62-">:></a> <a href="Darcs-Witnesses-Ordered.html#t:RL">RL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p)) start x<a href="src/Darcs-Patch-Depends.html#splitOnTag" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:newsetUnion" class="def">newsetUnion</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => [<a href="Darcs-Patch-Set.html#t:SealedPatchSet">SealedPatchSet</a> p start] -> <a href="Darcs-Patch-Set.html#t:SealedPatchSet">SealedPatchSet</a> p start<a href="src/Darcs-Patch-Depends.html#newsetUnion" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:newsetIntersection" class="def">newsetIntersection</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => [<a href="Darcs-Patch-Set.html#t:SealedPatchSet">SealedPatchSet</a> p start] -> <a href="Darcs-Patch-Set.html#t:SealedPatchSet">SealedPatchSet</a> p start<a href="src/Darcs-Patch-Depends.html#newsetIntersection" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:commuteToEnd" class="def">commuteToEnd</a> :: <span class="keyword">forall</span> p start x y. <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Witnesses-Ordered.html#t:RL">RL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) x y -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> (<a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p <a href="Darcs-Witnesses-Ordered.html#t::-62-">:></a> <a href="Darcs-Witnesses-Ordered.html#t:RL">RL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p)) start x<a href="src/Darcs-Patch-Depends.html#commuteToEnd" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:findUncommon" class="def">findUncommon</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start x -> <a href="Darcs-Patch-Set.html#t:PatchSet">PatchSet</a> p start y -> (<a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) <a href="Darcs-Witnesses-Ordered.html#t::-92--47-:">:\/:</a> <a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p)) x y<a href="src/Darcs-Patch-Depends.html#findUncommon" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:merge2FL" class="def">merge2FL</a> :: <a href="Darcs-Patch-RepoPatch.html#t:RepoPatch">RepoPatch</a> p => <a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) x y -> <a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) x z -> <a href="Darcs-Witnesses-Sealed.html#t:Sealed">Sealed</a> (<a href="Darcs-Witnesses-Ordered.html#t:FL">FL</a> (<a href="Darcs-Patch-PatchInfoAnd.html#t:PatchInfoAnd">PatchInfoAnd</a> p) y)<a href="src/Darcs-Patch-Depends.html#merge2FL" class="link">Source</a></p><div class="doc"><p>Merge two FLs (say L and R), starting in a common context. The result is a FL starting in the original end context of L, going to a new context that is the result of applying all patches from R on top of patches from L. </p><p>While this function is similar to <code><a href="Darcs-Patch-Merge.html#v:mergeFL">mergeFL</a></code>, there are three important differences to keep in mind: </p><ul><li> <code><a href="Darcs-Patch-Merge.html#v:mergeFL">mergeFL</a></code> does not correctly deal with duplicate patches whereas this one does (Question from Eric Kow: in what sense? Why not fix the mergeFL instance?) </li><li> <code><a href="Darcs-Patch-Merge.html#v:mergeFL">mergeFL</a></code> returns both paths of the merge diamond, but this version only returns one, so you'd better choose the order carefully, eg. (<code>merge2FL l r</code>) </li><li> The conventional order we use in this function is reversed from <code><a href="Darcs-Patch-Merge.html#v:mergeFL">mergeFL</a></code> (so <code>mergeFL r l</code> vs. <code>merge2FL l r</code>. This does not matter so much for the former since you get both paths. (Question from Eric Kow: should we flip merge2FL for more uniformity in the code?) </li></ul></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.10.0</p></div></body></html>