Equality typeclass definition and its instances for basic types.
{ eq : a -> a -> Basics.Bool
, notEq : a -> a -> Basics.Bool
}
Explicit typeclass which implements equality for type a
.
eqAndNotEq : (a -> a -> Basics.Bool) -> (a -> a -> Basics.Bool) -> Equality a
Construct from the eq and not-eq operations.
eq : (a -> a -> Basics.Bool) -> Equality a
Construct just from the eq operation.
compare : (a -> a -> Basics.Order) -> Equality a
Construct from a comparison operation.
comparable : Equality comparable
Instance for any type, which satisfies the magic comparable constraint.
map : (b -> a) -> Equality a -> Equality b
Map over the owner type of an instance to produce a new instance.
Please notice that mapping is contravariant (i.e., (b -> a)
instead of (a -> b)
).
bool : Equality Basics.Bool
Instance for Bool
.
int : Equality Basics.Int
Instance for Int
.
float : Equality Basics.Float
Instance for Float
.
char : Equality Char
Instance for Char
.
string : Equality String
Instance for String
.
maybe : Equality a -> Equality (Maybe a)
Equality for Maybe
, with instance for its member provided.
result : Equality a -> Equality b -> Equality (Result a b)
Instance for Result
, with instances for its members provided.
either : Equality a -> Equality b -> Equality (Either a b)
Instance for Either
, with instances for its members provided.
list : Equality a -> Equality (List a)
Equality for List
, with instance for its member provided.
array : Equality a -> Equality (Array a)
Equality for Array
, with instance for its member provided.
tuple2 : Equality a -> Equality b -> Equality ( a, b )
Instance for tuple, with instances for its members provided.
tuple3 : Equality a -> Equality b -> Equality c -> Equality ( a, b, c )
Instance for tuple, with instances for its members provided.