Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- 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.
AddName :: PatchInfo -> RebaseName p wX wY | |
DelName :: PatchInfo -> RebaseName p wX wY | |
Rename :: PatchInfo -> PatchInfo -> RebaseName p wX wY |
Instances
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 #