Returns whether two values of type A
are equal.
Returns whether two values of type A
are equal.
Constructs an Equal[(A, B)]
given an Equal[A]
and Equal[B]
by first
comparing the A
values for equality and then comparing the B
values
for equality, if necessary.
Constructs an Equal[(A, B)]
given an Equal[A]
and Equal[B]
by first
comparing the A
values for equality and then comparing the B
values
for equality, if necessary.
Constructs an Equal[C]
given an Equal[A]
, an Equal[B]
and a
function f
to transform a C
value into an (A, B)
.
Constructs an Equal[C]
given an Equal[A]
, an Equal[B]
and a
function f
to transform a C
value into an (A, B)
. The instance
will convert each C
value into an (A, B)
, compare the A
values for
equality, and then compare the B
values for equality if necessary.
Returns a new Commutative
instance that describes the same binary
operator but applied in reverse order.
Returns a new Commutative
instance that describes the same binary
operator but applied in reverse order. Since the operation is commutative
this instance is guaranteed to return the same results as the original
instance but one order of combination or the other may be more efficient
in certain cases.
Constructs an Equal[B]
given an Equal[A]
and a function f
to
transform a B
value into an A
value.
Constructs an Equal[B]
given an Equal[A]
and a function f
to
transform a B
value into an A
value. The instance will convert each
B
value into an A
and the compare the A
values for equality.
Constructs an Equal[Either[A, B]]
given an Equal[A]
and an
Equal[B]
.
Constructs an Equal[Either[A, B]]
given an Equal[A]
and an
Equal[B]
. The instance will compare the Either[A, B]
values and if
both are Right
or Left
compare them for equality.
Constructs an Equal[C]
given an Equal[A]
, an Equal[B]
, and a
function f
to transform a C
value into an Either[A, B]
.
Constructs an Equal[C]
given an Equal[A]
, an Equal[B]
, and a
function f
to transform a C
value into an Either[A, B]
. The
instance will convert each C
value into an Either[A, B]
and then
if both are Right
or Left
compare them for equality.
Returns whether two values of type A
are equal.
Returns whether two values of type A
are equal.
Returns whether two values of type A
are not equal.
Returns whether two values of type A
are not equal.