[sledge] Add List.Assoc support for deriving compare, equal, sexp_of

Reviewed By: ngorogiannis

Differential Revision: D29441157

fbshipit-source-id: cc90ad68b
master
Josh Berdine 4 years ago committed by Facebook GitHub Bot
parent d67a977f71
commit 8678923ca2

@ -112,6 +112,9 @@ let pp_diff ~cmp ?pre ?suf sep pp_elt fs (xs, ys) =
module Assoc = struct
include Assoc
let compare (type k v) compare_k compare_v = [%compare: (k * v) list]
let equal (type k v) equal_k equal_v = [%equal: (k * v) list]
let sexp_of_t sexp_of_k sexp_of_v = [%sexp_of: (k * v) list]
let mem elt seq ~eq = mem ~eq elt seq
end

@ -103,7 +103,9 @@ val symmetric_diff :
cmp:('a -> 'a -> int) -> 'a t -> 'a t -> ('a, 'a) Either.t t
module Assoc : sig
include module type of Assoc
type ('k, 'v) t = ('k * 'v) list [@@deriving compare, equal, sexp_of]
include module type of Assoc with type ('k, 'v) t := ('k, 'v) t
val mem : 'a -> ('a, _) t -> eq:('a -> 'a -> bool) -> bool
end

Loading…
Cancel
Save