darcs-2.18.3: a distributed, interactive, smart revision control system
Safe HaskellSafe-Inferred
LanguageHaskell2010

Darcs.Patch.ApplyMonad

Synopsis

Documentation

class (Monad m, ApplyMonadOperations state m) => ApplyMonad (state :: (* -> *) -> *) m | m -> state where Source #

Methods

readFilePS :: ObjectIdOf state -> m ByteString Source #

class (Monad m, ApplyMonad state (ApplyMonadOver state m)) => ApplyMonadTrans state m where Source #

Associated Types

type ApplyMonadOver state m :: * -> * Source #

Methods

runApplyMonad :: ApplyMonadOver state m x -> state m -> m (x, state m) Source #

Instances

Instances details
MonadThrow m => ApplyMonadTrans ObjectMap m Source # 
Instance details

Defined in Darcs.Patch.Prim.FileUUID.Apply

Associated Types

type ApplyMonadOver ObjectMap m :: Type -> Type Source #

MonadThrow m => ApplyMonadTrans Tree m Source # 
Instance details

Defined in Darcs.Patch.ApplyMonad

Associated Types

type ApplyMonadOver Tree m :: Type -> Type Source #

Methods

runApplyMonad :: ApplyMonadOver Tree m x -> Tree m -> m (x, Tree m) Source #

type family ApplyMonadOperations (state :: (* -> *) -> *) :: (* -> *) -> Constraint Source #

withFileNames :: Maybe [OrigFileNameOf] -> [AnchoredPath] -> FilePathMonad a -> FilePathMonadState Source #

withFileNames takes a maybe list of existing rename-pairs, a list of filenames and an action, and returns the resulting triple of affected files, updated filename list and new rename details. If the rename-pairs are not present, a new list is generated from the filesnames.

class MonadThrow m => ApplyMonadTree m where Source #

Instances

Instances details
ApplyMonadTree DefaultIO Source # 
Instance details

Defined in Darcs.Repository.ApplyPatches

MonadThrow m => ApplyMonadTree (TreeMonad m) Source # 
Instance details

Defined in Darcs.Patch.ApplyMonad

evalApplyMonad :: ApplyMonadTrans state m => ApplyMonadOver state m a -> state m -> m a Source #