summaryrefslogtreecommitdiff
path: root/lib/kernel/names.mli
blob: e3398d923713429995a6325ff6b32ac42c955742 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
(** 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 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