| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Darcs.Patch.Rebase.Name
- data RebaseName (p :: * -> * -> *) wX wY where
- AddName :: PatchInfo -> RebaseName p wX wY
- DelName :: PatchInfo -> RebaseName p wX wY
- Rename :: PatchInfo -> PatchInfo -> RebaseName p wX wY
- commuteNamePrim :: (RebaseName p :> PrimOf p) wX wY -> (PrimOf p :> RebaseName p) wX wY
- commutePrimName :: (PrimOf p :> RebaseName p) wX wY -> (RebaseName p :> PrimOf p) wX wY
- commuteNameNamed :: Invert p => CommuteFn (RebaseName p) (Named p)
- commuteNamedName :: Invert p => CommuteFn (Named p) (RebaseName p)
- canonizeNamePair :: (RebaseName p :> RebaseName p) wX wY -> FL (RebaseName p) wX wY
Documentation
data RebaseName (p :: * -> * -> *) wX wY where Source #
A RebaseName encapsulates the concept of the name of a patch,
without any contents. This allows us to track explicit dependencies
in the rebase state, changing them to follow uses of amend-record
or unsuspend on a depended-on patch, and warning the user if any
are lost entirely.
Constructors
| AddName :: PatchInfo -> RebaseName p wX wY | |
| DelName :: PatchInfo -> RebaseName p wX wY | |
| Rename :: PatchInfo -> PatchInfo -> RebaseName p wX wY |
Instances
| Eq2 (RebaseName p) Source # | |
| Show2 (RebaseName p) Source # | |
| Invert (RebaseName p) Source # | |
| PatchInspect (RebaseName p) Source # | |
| Commute (RebaseName p) Source # | |
| ReadPatch (RebaseName p) Source # | |
| Apply (RebaseName p) Source # | |
| ShowPatch (RebaseName p) Source # | |
| ShowPatchBasic (RebaseName p) Source # | |
| PrimPatchBase p => PrimPatchBase (RebaseName p) Source # | |
| Effect (RebaseName p) Source # | |
| Show1 (RebaseName p wX) Source # | |
| Show (RebaseName p wX wY) Source # | |
| type ApplyState (RebaseName p) Source # | |
| type PrimOf (RebaseName p) Source # | |
commuteNamePrim :: (RebaseName p :> PrimOf p) wX wY -> (PrimOf p :> RebaseName p) wX wY Source #
Commute a name patch and a primitive patch. They trivially commute so this just involves changing the witnesses.
commutePrimName :: (PrimOf p :> RebaseName p) wX wY -> (RebaseName p :> PrimOf p) wX wY Source #
Commute a primitive patch and a name patch. They trivially commute so this just involves changing the witnesses.
commuteNameNamed :: Invert p => CommuteFn (RebaseName p) (Named p) Source #
Commute a name patch and a named patch. In most cases this is trivial but we do need to check explicit dependencies.
commuteNamedName :: Invert p => CommuteFn (Named p) (RebaseName p) Source #
Commute a named patch and a name patch. In most cases this is trivial but we do need to check explicit dependencies.
canonizeNamePair :: (RebaseName p :> RebaseName p) wX wY -> FL (RebaseName p) wX wY Source #