Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates > by-pkgid > b0c98c29aff20adb5ac5f9eed34fc595 > files > 66

ghc-darcs-doc-2.4.4-1.fc13.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Darcs.Patch.Choices</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_Darcs-Patch-Choices.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>darcs-2.4.4: a distributed, interactive, smart revision control system</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>Darcs.Patch.Choices</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>PatchChoices divides a sequence of patches into three sets: <A HREF="first.html"
>first</A
>,
 <A HREF="middle.html"
>middle</A
> and <A HREF="last.html"
>last</A
>, such that all patches can be applied, if you first
 apply the first ones then the middle ones and then the last ones.
 Obviously if there are dependencies between the patches that will put a
 constraint on how you can choose to divide them up.  The PatchChoices data
 type and associated functions are here to deal with many of the common
 cases that come up when choosing a subset of a group of patches.
</P
><P
><TT
><A HREF="Darcs-Patch-Choices.html#v%3AforceLast"
>forceLast</A
></TT
> tells PatchChoices that a particular patch is required to be in
 the <A HREF="last.html"
>last</A
> group, which also means that any patches that depend on it
 must be in the <A HREF="last.html"
>last</A
> group.
</P
><P
>Internally, a PatchChoices doesn't actually reorder the patches until it is
 asked for the final output (e.g. by get_first_choice).  Instead, each
 patch is placed in a state of definitely first, definitely last and
 undecided; undecided leans towards <A HREF="middle.html"
>middle</A
>.  In case you're wondering
 about the first-middle-last language, it's because in some cases the
 <A HREF="yes.html"
>yes</A
> answers will be last (as is the case for the revert command), and
 in others first (as in record, pull and push).
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApatchChoices"
>patchChoices</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApatchChoicesTps"
>patchChoicesTps</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> p -&gt; (<A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p, <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p))</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApatchChoicesTpsSub"
>patchChoicesTpsSub</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> p -&gt; (<A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p, <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p))</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApatchSlot"
>patchSlot</A
> :: <SPAN CLASS="keyword"
>forall</SPAN
> p.  <A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3ASlot"
>Slot</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetChoices"
>getChoices</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p) <A HREF="Darcs-Witnesses-Ordered.html#t%3A%3A%3E"
>:&gt;</A
> (<A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p) <A HREF="Darcs-Witnesses-Ordered.html#t%3A%3A%3E"
>:&gt;</A
> <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p))</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AseparateFirstMiddleFromLast"
>separateFirstMiddleFromLast</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p) <A HREF="Darcs-Witnesses-Ordered.html#t%3A%3A%3E"
>:&gt;</A
> <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AseparateFirstFromMiddleLast"
>separateFirstFromMiddleLast</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p) <A HREF="Darcs-Witnesses-Ordered.html#t%3A%3A%3E"
>:&gt;</A
> <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AforceFirst"
>forceFirst</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AforceFirsts"
>forceFirsts</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; [<A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
>] -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AforceLast"
>forceLast</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AforceLasts"
>forceLasts</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; [<A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
>] -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AforceMatchingFirst"
>forceMatchingFirst</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AforceMatchingLast"
>forceMatchingLast</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AselectAllMiddles"
>selectAllMiddles</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmakeUncertain"
>makeUncertain</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmakeEverythingLater"
>makeEverythingLater</A
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATaggedPatch"
>TaggedPatch</A
> p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATag"
>Tag</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atag"
>tag</A
> ::  <A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtpPatch"
>tpPatch</A
> ::  <A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p -&gt; p</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASlot"
>Slot</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AInFirst"
>InFirst</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInMiddle"
>InMiddle</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInLast"
>InLast</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asubstitute"
>substitute</A
> :: <SPAN CLASS="keyword"
>forall</SPAN
> p. <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Witnesses-Sealed.html#t%3ASealed2"
>Sealed2</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p <A HREF="Darcs-Witnesses-Ordered.html#t%3A%3A%7C%7C%3A"
>:||:</A
> <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p)) -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Documentation</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:PatchChoices"
><A NAME="t%3APatchChoices"
></A
></A
><B
>PatchChoices</B
> p </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:patchChoices"
><A NAME="v%3ApatchChoices"
></A
></A
><B
>patchChoices</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:patchChoicesTps"
><A NAME="v%3ApatchChoicesTps"
></A
></A
><B
>patchChoicesTps</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> p -&gt; (<A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p, <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p))</TD
></TR
><TR
><TD CLASS="doc"
>Tag a sequence of patches.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:patchChoicesTpsSub"
><A NAME="v%3ApatchChoicesTpsSub"
></A
></A
><B
>patchChoicesTpsSub</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> p -&gt; (<A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p, <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p))</TD
></TR
><TR
><TD CLASS="doc"
>Tag a sequence of patches as subpatches of an existing tag. This is intended for
 use when substituting a patch for an equivalent patch or patches.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:patchSlot"
><A NAME="v%3ApatchSlot"
></A
></A
><B
>patchSlot</B
> :: <SPAN CLASS="keyword"
>forall</SPAN
> p.  <A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3ASlot"
>Slot</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getChoices"
><A NAME="v%3AgetChoices"
></A
></A
><B
>getChoices</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p) <A HREF="Darcs-Witnesses-Ordered.html#t%3A%3A%3E"
>:&gt;</A
> (<A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p) <A HREF="Darcs-Witnesses-Ordered.html#t%3A%3A%3E"
>:&gt;</A
> <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p))</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:separateFirstMiddleFromLast"
><A NAME="v%3AseparateFirstMiddleFromLast"
></A
></A
><B
>separateFirstMiddleFromLast</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p) <A HREF="Darcs-Witnesses-Ordered.html#t%3A%3A%3E"
>:&gt;</A
> <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:separateFirstFromMiddleLast"
><A NAME="v%3AseparateFirstFromMiddleLast"
></A
></A
><B
>separateFirstFromMiddleLast</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p) <A HREF="Darcs-Witnesses-Ordered.html#t%3A%3A%3E"
>:&gt;</A
> <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:forceFirst"
><A NAME="v%3AforceFirst"
></A
></A
><B
>forceFirst</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:forceFirsts"
><A NAME="v%3AforceFirsts"
></A
></A
><B
>forceFirsts</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; [<A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
>] -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:forceLast"
><A NAME="v%3AforceLast"
></A
></A
><B
>forceLast</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:forceLasts"
><A NAME="v%3AforceLasts"
></A
></A
><B
>forceLasts</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; [<A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
>] -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:forceMatchingFirst"
><A NAME="v%3AforceMatchingFirst"
></A
></A
><B
>forceMatchingFirst</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:forceMatchingLast"
><A NAME="v%3AforceMatchingLast"
></A
></A
><B
>forceMatchingLast</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:selectAllMiddles"
><A NAME="v%3AselectAllMiddles"
></A
></A
><B
>selectAllMiddles</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:makeUncertain"
><A NAME="v%3AmakeUncertain"
></A
></A
><B
>makeUncertain</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:makeEverythingLater"
><A NAME="v%3AmakeEverythingLater"
></A
></A
><B
>makeEverythingLater</B
> :: <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:TaggedPatch"
><A NAME="t%3ATaggedPatch"
></A
></A
><B
>TaggedPatch</B
> p </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:TaggedPatch')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:TaggedPatch" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Darcs-Witnesses-Ordered.html#t%3AMyEq"
>MyEq</A
> p =&gt; <A HREF="Darcs-Witnesses-Ordered.html#t%3AMyEq"
>MyEq</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Darcs-Patch-Patchy.html#t%3AInvert"
>Invert</A
> p =&gt; <A HREF="Darcs-Patch-Patchy.html#t%3AInvert"
>Invert</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Darcs-Patch-Patchy.html#t%3ACommute"
>Commute</A
> p =&gt; <A HREF="Darcs-Patch-Patchy.html#t%3ACommute"
>Commute</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Tag"
><A NAME="t%3ATag"
></A
></A
><B
>Tag</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
><TT
>TG</TT
> <TT
>mp i</TT
> acts as a temporary identifier to help us keep track of patches
   during the selection process.  These are useful for finding patches that
   may have moved around during patch selection (being pushed forwards or
   backwards as dependencies arise).
</P
><P
>The identifier is implemented as a tuple <TT
>TG mp i</TT
>. The <TT
>i</TT
> is just some
   arbitrary label, expected to be unique within the patches being
   scrutinised.  The <TT
>mp</TT
> is motivated by patch splitting; it
   provides a convenient way to generate a new identifier from the patch
   being split.  For example, if we split a patch identified as <TT
>TG Nothing
   5</TT
>, the resulting sub-patches could be identified as <TT
>TG (TG Nothing 5)
   1</TT
>, <TT
>TG (TG Nothing 5) 2</TT
>, etc.
</P
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Tag')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Tag" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.0/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tag"
><A NAME="v%3Atag"
></A
></A
><B
>tag</B
> ::  <A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3ATag"
>Tag</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tpPatch"
><A NAME="v%3AtpPatch"
></A
></A
><B
>tpPatch</B
> ::  <A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p -&gt; p</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Slot"
><A NAME="t%3ASlot"
></A
></A
><B
>Slot</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>See module documentation for Darcs.Patch.Choices
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:InFirst"
><A NAME="v%3AInFirst"
></A
></A
><B
>InFirst</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InMiddle"
><A NAME="v%3AInMiddle"
></A
></A
><B
>InMiddle</B
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:InLast"
><A NAME="v%3AInLast"
></A
></A
><B
>InLast</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:substitute"
><A NAME="v%3Asubstitute"
></A
></A
><B
>substitute</B
> :: <SPAN CLASS="keyword"
>forall</SPAN
> p. <A HREF="Darcs-Patch-Patchy.html#t%3APatchy"
>Patchy</A
> p =&gt; <A HREF="Darcs-Witnesses-Sealed.html#t%3ASealed2"
>Sealed2</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p <A HREF="Darcs-Witnesses-Ordered.html#t%3A%3A%7C%7C%3A"
>:||:</A
> <A HREF="Darcs-Witnesses-Ordered.html#t%3AFL"
>FL</A
> (<A HREF="Darcs-Patch-Choices.html#t%3ATaggedPatch"
>TaggedPatch</A
> p)) -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p -&gt; <A HREF="Darcs-Patch-Choices.html#t%3APatchChoices"
>PatchChoices</A
> p</TD
></TR
><TR
><TD CLASS="doc"
><TT
><A HREF="Darcs-Patch-Choices.html#v%3Asubstitute"
>substitute</A
></TT
> <TT
>(a :||: bs)</TT
> <TT
>pcs</TT
> replaces <TT
>a</TT
> with <TT
>bs</TT
> in <TT
>pcs</TT
> preserving the choice
   associated with <TT
>a</TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.6.0</TD
></TR
></TABLE
></BODY
></HTML
>