blob: 567ce2eec5acea413849c683405b8283abb71a71 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
(** Celebration names keyed by language. The language set is open; entries are
kept sorted by language code, so equal name sets have equal sexp forms. *)
type t = (Lang.t * string) list [@@deriving sexp]
val sexp_of_t : t -> Sexplib0.Sexp.t
val t_of_sexp : Sexplib0.Sexp.t -> t
val empty : t
(** Canonicalises; on duplicate languages the last entry wins. *)
val of_list : (Lang.t * string) list -> t
val set : t -> Lang.t -> string -> t
val remove : t -> Lang.t -> t
val find : t -> Lang.t -> string option
(** [find_first t langs] returns the name for the first language present. *)
val find_first : t -> Lang.t list -> string option
val to_list : t -> (Lang.t * string) list
|