- data Prim x y where
- data DirPatchType x y
- data FilePatchType x y
- = RmFile
- | AddFile
- | Hunk !Int [ByteString] [ByteString]
- | TokReplace !String !String !String
- | Binary ByteString ByteString
- isIdentity :: Prim x y -> EqCheck x y
- comparePrim :: Prim x y -> Prim w z -> Ordering
Documentation
Move :: !FileName -> !FileName -> Prim x y | |
DP :: !FileName -> !(DirPatchType x y) -> Prim x y | |
FP :: !FileName -> !(FilePatchType x y) -> Prim x y | |
ChangePref :: !String -> !String -> !String -> Prim x y |
data DirPatchType x y Source
MyEq DirPatchType | |
Eq (DirPatchType x y) | |
Ord (DirPatchType x y) | |
Show (DirPatchType x y) |
data FilePatchType x y Source
RmFile | |
AddFile | |
Hunk !Int [ByteString] [ByteString] | |
TokReplace !String !String !String | |
Binary ByteString ByteString |
MyEq FilePatchType | |
Eq (FilePatchType x y) | |
Ord (FilePatchType x y) | |
Show (FilePatchType x y) |
isIdentity :: Prim x y -> EqCheck x ySource
comparePrim :: Prim x y -> Prim w z -> OrderingSource
comparePrim
p1 p2
is used to provide an arbitrary ordering between
p1
and p2
. Basically, identical patches are equal and
Move < DP < FP < ChangePref
.
Everything else is compared in dictionary order of its arguments.