sexps.ml1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21open Core include Hash_set.Make (struct type t = Sexp.t = | Atom of string | List of t list [@@deriving compare] let sexp_of_t = Fn.id let t_of_sexp = Fn.id let rec hash = function | Atom s -> String.hash s | List ts -> List.fold ts ~init:(List.length ts) ~f:(fun n t -> n lxor hash t) ;; end) (** hide optional args *) let create () = create () let of_list sexps = of_list sexps