Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data EqCheck wA wB where Source #
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 wA wB -> p wC wD -> Bool Source #
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 wA wB -> p wA wC -> EqCheck wB wC infix 4 Source #
Compare two things with the same starting witness. If the things compare equal, evidence of the ending witnesses being equal will be returned.
(=/\=) :: p wA wC -> p wB wC -> EqCheck wA wB infix 4 Source #
Compare two things with the same ending witness. If the things compare equal, evidence of the starting witnesses being equal will be returned.
MyEq Prim Source # | |
MyEq Hunk Source # | |
MyEq DirPatchType Source # | |
MyEq FilePatchType Source # | |
MyEq Prim Source # | |
MyEq DummyPatch Source # | |
MyEq WPatchInfo Source # | |
(Commute p, MyEq p) => MyEq (Named p) Source # | |
MyEq (RebaseName p) Source # | |
MyEq (PrimOf p) => MyEq (RebaseFixup p) Source # | |
PrimPatch prim => MyEq (RepoPatchV2 prim) Source # | |
MyEq p => MyEq (LabelledPatch p) Source # | |
(PrimPatchBase p, Commute p, MyEq p) => MyEq (RebaseSelect p) Source # | |
(MyEq a, MyEq b) => MyEq ((:>) a b) Source # | |
MyEq (PatchInfoAnd rt p) Source # | |