Safe Haskell | Safe-Infered |
---|
Documentation
EqCheck
is used to pass around evidence (or lack thereof) of
two witness types being equal.
An witness aware equality class.
A minimal definition defines any one of unsafeCompare
, =\/=
and =/\=
.
unsafeCompare :: p a b -> p c d -> BoolSource
It is unsafe to define a class instance via this method, because
if it returns True then the default implementations of =\/=
and =/\=
will coerce the equality of two witnesses.
Calling this method is safe, although =\/=
or =/\=
would be better
choices as it is not usually meaningul to compare two patches that
don't share either a starting or an ending context
(=\/=) :: p a b -> p a c -> EqCheck b cSource
Compare two things with the same starting witness. If the things compare equal, evidence of the ending witnesses being equal will be returned.
(=/\=) :: p a c -> p b c -> EqCheck a bSource
Compare two things with the same ending witness. If the things compare equal, evidence of the starting witnesses being equal will be returned.
MyEq DirPatchType | |
MyEq FilePatchType | |
MyEq Prim | |
MyEq Prim | |
MyEq Hunk | |
MyEq DummyPatch | |
MyEq WPatchInfo | |
(MyEq p, Commute p) => MyEq (RL p) | |
(MyEq p, Commute p) => MyEq (FL p) | |
MyEq prim => MyEq (Patch prim) | |
(Commute p, MyEq p) => MyEq (Named p) | |
(Commute p, MyEq p) => MyEq (PatchInfoAnd p) | |
MyEq p => MyEq (PatchChoice p) | |
MyEq p => MyEq (TaggedPatch p) | |
PrimPatch prim => MyEq (RealPatch prim) | |
(MyEq a, MyEq b) => MyEq (:< a b) | |
(MyEq a, MyEq b) => MyEq (:> a b) |