darcs-2.10.0: a distributed, interactive, smart revision control system

Safe HaskellNone
LanguageHaskell2010

Darcs.Patch.MaybeInternal

Synopsis

Documentation

newtype InternalChecker p Source

Constructors

InternalChecker 

Fields

isInternal :: forall wX wY. p wX wY -> EqCheck wX wY
 

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.

Minimal complete definition

Nothing

Methods

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.

flIsInternal :: MaybeInternal p => FL p wX wY -> EqCheck wX wY Source