1 (* A module for SML-style equality, i.e. where equality of mutables is
2 physical equality and equality of immutables is structural equality.
8 val eq
: a
-> a
-> bool
11 module Defaults
(E
: Eq
) : Eq
with type a
= E.a
13 module Eq_immutable
(S
: sig type a
end) : Eq
with type a
= S.a
14 module Eq_mutable
(S
: sig type a
end) : Eq
with type a
= S.a
16 module Eq_int
: Eq
with type a
= int
17 module Eq_num
: Eq
with type a
= Num.num
18 module Eq_bool
: Eq
with type a
= bool
19 module Eq_float
: Eq
with type a
= float
20 module Eq_unit
: Eq
with type a
= unit
21 module Eq_char
: Eq
with type a
= char
22 module Eq_string
: Eq
with type a
= string
23 module Eq_int32
: Eq
with type a
= int32
24 module Eq_int64
: Eq
with type a
= int64
25 module Eq_nativeint
: Eq
with type a
= nativeint
26 module Eq_ref
(E
: Eq
) : Eq
with type a
= E.a
ref
27 module Eq_array
(E
: Eq
) : Eq
with type a
= E.a array
28 module Eq_list
(E
: Eq
) : Eq
with type a
= E.a list
29 module Eq_option
(E
: Eq
): Eq
with type a
= E.a
option
30 module Eq_map_s_t
(E
: Eq
) (M
: Map.S
) : Eq
with type a
= E.a
M.t