summaryrefslogtreecommitdiff
path: root/lib/kernel/slug.mli
blob: 0081e2b884045e3d8b7682f997dfed6afaa129de (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(** Stable celebration identifiers: non-empty [a-z0-9-], no leading or trailing
    hyphen. Also serve as lectionary keys. *)
type t = private string

val of_string : string -> (t, string) result

(** For literals in code and tests. Raises [Invalid_argument] on a bad slug. *)
val of_string_exn : string -> t

val to_string : t -> string
val compare : t -> t -> int
val equal : t -> t -> bool

(** Validating; raises [Of_sexp_error] on a malformed slug. *)
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t