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

Darcs.Witnesses.Ordered

Documentation

data EqCheck where

Constructors

IsEq :: EqCheck 
NotEq :: EqCheck 

Instances

data a1 :> a2

Constructors

a1 :> a2 

Instances

(Show2 a, Show2 b) => Show (:> a b) 
(Show2 a, Show2 b) => Show2 (:> a b) 
(MyEq a, MyEq b) => MyEq (:> a b) 

data a1 :< a2

Constructors

a1 :< a2 

Instances

(MyEq a, MyEq b) => MyEq (:< a b) 

data a1 :\/: a2

Constructors

a1 :\/: a2 

Instances

(Show2 a, Show2 b) => Show (:\/: a b) 
(Show2 a, Show2 b) => Show2 (:\/: a b) 

data a1 :/\: a2

Constructors

a1 :/\: a2 

data a1 :||: a2

Constructors

a1 :||: a2 

data FL a where

Constructors

:>: :: a -> FL a -> FL a 
NilFL :: FL a 

Instances

Show2 a => Show (FL a) 
Show2 a => Show2 (FL a) 
(MyEq p, Commute p) => MyEq (FL p) 
(Invert p, Commute p) => Invert (FL p) 
ReadPatch p => ReadPatch (FL p) 
(Conflict p, Apply p, Effect p, ShowPatch p) => ShowPatch (FL p) 
Commute p => Commute (FL p) 
Apply p => Apply (FL p) 
(Conflict p, Patchy p) => Patchy (FL p) 
Effect p => Effect (FL p) 
Conflict p => Conflict (FL p) 
FromPrim p => FromPrims (FL p) 
RepoPatchBase p => RepoPatch (FL p) 

data RL a where

Constructors

:<: :: a -> RL a -> RL a 
NilRL :: RL a 

Instances

(MyEq p, Commute p) => MyEq (RL p) 
(Commute p, Invert p) => Invert (RL p) 
ReadPatch p => ReadPatch (RL p) 
(Conflict p, Apply p, ShowPatch p) => ShowPatch (RL p) 
Commute p => Commute (RL p) 
Apply p => Apply (RL p) 
(Conflict p, Patchy p) => Patchy (RL p) 
Effect p => Effect (RL p) 
Conflict p => Conflict (RL p) 
FromPrim p => FromPrims (RL p) 

data Proof a where

Constructors

Proof :: a -> Proof a 

lengthFL :: FL a -> Int

mapFL :: (a -> b) -> FL a -> [b]

mapFL_FL :: (a -> b) -> FL a -> FL b

spanFL :: (a -> Bool) -> FL a -> FL a :> FL a

foldlFL :: (a -> b -> a) -> a -> FL b -> a

allFL :: (a -> Bool) -> FL a -> Bool

anyFL :: (a -> Bool) -> FL a -> Bool

filterFL :: (a -> Bool) -> FL a -> [Sealed2 a]

splitAtFL :: Int -> FL a -> FL a :> FL a

splitAtRL :: Int -> RL a -> RL a :< RL a

bunchFL :: Int -> FL a -> FL (FL a)

foldlRL :: (a -> b -> a) -> a -> RL b -> a

lengthRL :: RL a -> Int

mapRL :: (a -> b) -> RL a -> [b]

mapRL_RL :: (a -> b) -> RL a -> RL b

zipWithFL :: (a -> p -> q) -> [a] -> FL p -> FL q

unsafeMap_l2f :: (a -> b) -> [a] -> FL b

filterE :: (a -> EqCheck) -> [a] -> [Proof a]

filterFLFL :: (p -> EqCheck) -> FL p -> FL p

filterRL :: (p -> Bool) -> RL p -> [Sealed2 p]

reverseFL :: FL a -> RL a

reverseRL :: RL a -> FL a

(+>+) :: FL a -> FL a -> FL a

(+<+) :: RL a -> RL a -> RL a

nullFL :: FL a -> Bool

concatFL :: FL (FL a) -> FL a

concatRL :: RL (RL a) -> RL a

concatReverseFL :: FL (RL a) -> RL a

class MyEq p where

Methods

unsafeCompare :: p -> p -> Bool

(=\/=) :: p -> p -> EqCheck

(=/\=) :: p -> p -> EqCheck

Instances

MyEq DirPatchType 
MyEq FilePatchType 
MyEq Prim 
MyEq Patch 
MyEq RealPatch 
MyEq WPatchInfo 
(MyEq p, Commute p) => MyEq (RL p) 
(MyEq p, Commute p) => MyEq (FL p) 
MyEq p => MyEq (Named p) 
MyEq p => MyEq (PatchInfoAnd p) 
MyEq p => MyEq (PatchChoice p) 
MyEq p => MyEq (TaggedPatch p) 
(MyEq a, MyEq b) => MyEq (:< a b) 
(MyEq a, MyEq b) => MyEq (:> a b) 

nullRL :: RL a -> Bool

toFL :: [FreeLeft a] -> Sealed (FL a)

data a1 :>> a2

Constructors

a1 :>> a2 

unsafeCoerceP :: a -> a

unsafeCoerceP2 :: t -> t

spanFL_M :: forall a m. Monad m => (a -> m Bool) -> FL a -> m (FL a :> FL a)