|Hopefully p C (x y) is Either String (p C (x y)) in a
form adapted to darcs patches. The C (x y) represents the type
witness for the patch that should be there. The Hopefully type
just tells whether we expect the patch to be hashed or not, and
SimpleHopefully does the real work of emulating
Either. Hopefully sh represents an expected unhashed patch, and
Hashed hash sh represents an expected hashed patch with its hash.
|PatchInfoAnd p represents a hope we have to get a
patch through its info. We're not sure we have the patch, but we
know its info.
|piap i p creates a PatchInfoAnd containing p with info i.
|n2pia creates a PatchInfoAnd represeting a Named patch.
|conscientiously er hp tries to extract a patch from a PatchInfoAnd.
If it fails, it applies the error handling function er to a description
of the patch info component of hp.
|hopefully hp tries to get a patch from a PatchInfoAnd
value. If it fails, it outputs an error "failed to read patch:
<description of the patch>". We get the description of the patch
from the info part of hp
|hopefullyM is a version of hopefully which calls fail in a
monad instead of erroring.
|Produced by Haddock version 2.4.2|