darcs-2.1.99.0: a distributed, interactive, smart revision control systemSource codeContentsIndex
Darcs.Patch.Permutations
Synopsis
removeFL :: (MyEq p, Commute p) => p -> FL p -> Maybe (FL p)
removeRL :: (MyEq p, Commute p) => p -> RL p -> Maybe (RL p)
removeCommon :: (MyEq p, Commute p) => (FL p :\/: FL p) -> FL p :\/: FL p
commuteWhatWeCanFL :: Commute p => (p :> FL p) -> FL p :> (p :> FL p)
commuteWhatWeCanRL :: Commute p => (RL p :> p) -> RL p :> (p :> RL p)
genCommuteWhatWeCanRL :: ((p :> p) -> Maybe (p :> p)) -> (RL p :> p) -> RL p :> (p :> RL p)
partitionFL :: Commute p => (p -> Bool) -> FL p -> FL p :> FL p
partitionRL :: Commute p => (p -> Bool) -> RL p -> RL p :> RL p
head_permutationsFL :: Commute p => FL p -> [FL p]
head_permutationsRL :: Commute p => RL p -> [RL p]
headPermutationsFL :: Commute p => FL p -> [p :> FL p]
remove_subsequenceFL :: (MyEq p, Commute p) => FL p -> FL p -> Maybe (FL p)
remove_subsequenceRL :: (MyEq p, Commute p) => RL p -> RL p -> Maybe (RL p)
Documentation
removeFL :: (MyEq p, Commute p) => p -> FL p -> Maybe (FL p)Source
removeRL :: (MyEq p, Commute p) => p -> RL p -> Maybe (RL p)Source
removeCommon :: (MyEq p, Commute p) => (FL p :\/: FL p) -> FL p :\/: FL pSource
commuteWhatWeCanFL :: Commute p => (p :> FL p) -> FL p :> (p :> FL p)Source
commuteWhatWeCanRL :: Commute p => (RL p :> p) -> RL p :> (p :> RL p)Source
genCommuteWhatWeCanRL :: ((p :> p) -> Maybe (p :> p)) -> (RL p :> p) -> RL p :> (p :> RL p)Source
partitionFLSource
:: Commute p
=> p -> Boolpredicate; if true we would like the patch in the left list
-> FL pinput FL
-> FL p :> FL pleft and right results
split an FL into left and right lists according to a predicate, using commutation as necessary. If a patch does satisfy the predicate but cannot be commuted past one that does not satisfy the predicate, it goes in the right list.
partitionRLSource
:: Commute p
=> p -> Boolpredicate; if true we would like the patch in the right list
-> RL pinput RL
-> RL p :> RL pleft and right results
split an RL into left and right lists according to a predicate, using commutation as necessary. If a patch does satisfy the predicate but cannot be commuted past one that does not satisfy the predicate, it goes in the left list.
head_permutationsFL :: Commute p => FL p -> [FL p]Source
head_permutationsRL :: Commute p => RL p -> [RL p]Source
headPermutationsFL :: Commute p => FL p -> [p :> FL p]Source
remove_subsequenceFL :: (MyEq p, Commute p) => FL p -> FL p -> Maybe (FL p)Source
remove_subsequenceRL :: (MyEq p, Commute p) => RL p -> RL p -> Maybe (RL p)Source
Produced by Haddock version 2.4.2