Safe Haskell | None |
---|---|
Language | Haskell2010 |
- newtype InternalChecker p = InternalChecker {
- isInternal :: forall wX wY. p wX wY -> EqCheck wX wY
- class MaybeInternal p where
- patchInternalChecker :: Maybe (InternalChecker (FL p))
- flIsInternal :: MaybeInternal p => FL p wX wY -> EqCheck wX wY
Documentation
newtype InternalChecker p Source
InternalChecker | |
|
class MaybeInternal p where Source
Provides a hook for flagging whether a patch is "internal" to the repo and therefore shouldn't be referred to externally, e.g. by inclusion in tags. Note that despite the name, every patch type has to implement it, but for normal (non-internal) types the default implementation is fine. Currently only used for rebase internal patches.
Nothing
patchInternalChecker :: Maybe (InternalChecker (FL p)) Source
maybe (const NotEq) (fmap isInternal patchInternalChecker) p
returns IsEq
if p
is internal, and NotEq
otherwise.
The two-level structure is purely for efficiency: Nothing
and 'Just (InternalChecker (const NotEq))' are
semantically identical, but Nothing
allows clients to avoid traversing an entire list.
The patch type is passed as an FL
because that's how the internals of named patches are stored.
MaybeInternal DummyPatch Source | |
MaybeInternal (Patch prim) Source | |
MaybeInternal (RealPatch prim) Source | |
MaybeInternal (Rebasing p) Source | |
MaybeInternal (RebaseChange p) Source |
flIsInternal :: MaybeInternal p => FL p wX wY -> EqCheck wX wY Source