Safe Haskell | None |
---|---|
Language | Haskell2010 |
- class RecontextRebase p where
- recontextRebase :: Maybe (RecontextRebase1 p)
- newtype RecontextRebase1 p = RecontextRebase1 {
- recontextFunc1 :: forall wY wZ. Named p wY wZ -> (EqCheck wY wZ, RecontextRebase2 p wY wZ)
- newtype RecontextRebase2 p wY wZ = RecontextRebase2 {
- recontextFunc2 :: forall wX. FL (RebaseFixup p) wX wY -> IO (Named p wX wX)
Documentation
class RecontextRebase p where Source
Some non-rebase code needs to manipulate the rebase state if one exists.
This class provides the hook for them to do so without needing to explicitly
detect that there is a rebase state: recontextRebase
abstracts out that
information.
The hook is used in amend-record - look there for an explanation of how.
There is a default so that other patch types only need to declare the instance.
Nothing
RecontextRebase DummyPatch | |
RecontextRebase (Patch prim) | |
RecontextRebase (RealPatch prim) | |
(Commute p, PrimPatchBase p, FromPrim p, Effect p) => RecontextRebase (Rebasing p) |
newtype RecontextRebase1 p Source
Check whether a given patch is a suspended rebase patch, and if so provide evidence that the start and end contexts are the same (from the point of view of the containing repo), and return a function that produces a new version with some fixups added.
Nested in a type to avoid needing an impredicative argument to Maybe
.
RecontextRebase1 | |
|
newtype RecontextRebase2 p wY wZ Source
Return a suspended patch with the given fixups added.
Nested in a type to avoid needing an impredicative argument to a tuple.
RecontextRebase2 | |
|