darcs

Darcs.Patch.Patchy

Synopsis

Documentation

class (Apply p, Commute p, ShowPatch p, ReadPatch p, Invert p) => Patchy p

Instances

class Apply p where

Instances

mapMaybeSnd :: (a -> b) -> Maybe (c, a) -> Maybe (c, b)

class Commute p where

Things that can commute.

Methods

commute :: (p :> p) -> Maybe (p :> p)

merge :: (p :\/: p) -> p :/\: p

listTouchedFiles :: p -> [FilePath]

hunkMatches :: (ByteString -> Bool) -> p -> Bool

Instances

commuteFLorComplain :: Commute p => (p :> FL p) -> Either (Sealed2 p) (FL p :> p)

commuteRL :: Commute p => (RL p :> p) -> Maybe (p :> RL p)

commuteFL :: Commute p => (p :> FL p) -> Maybe (FL p :> p)

commuteRLFL :: Commute p => (RL p :> FL p) -> Maybe (FL p :> RL p)

mergeFL :: Commute p => (p :\/: FL p) -> FL p :/\: p

toFwdCommute :: (Commute p, Commute q, Monad m) => ((p :< q) -> m (q :< p)) -> (q :> p) -> m (p :> q)

Swaps the ordered pair type so that commute can be called directly.

toRevCommute :: (Commute p, Commute q, Monad m) => ((p :> q) -> m (q :> p)) -> (q :< p) -> m (p :< q)

Swaps the ordered pair type from the order expected by commute to the reverse order.

bracketedFL :: forall p m. (ReadPatch p, ParserM m) => m (Maybe (Sealed p)) -> Word8 -> Word8 -> m (Maybe (Sealed (FL p)))

peekfor :: ParserM m => String -> m a -> m a -> m a

class MyEq p => Invert p where

Methods

invert :: p -> p

identity :: p

sloppyIdentity :: p -> EqCheck

Instances

invertFL :: Invert p => FL p -> RL p

invertRL :: Invert p => RL p -> FL p