diff options
Diffstat (limited to 'lib/kernel/slug.mli')
| -rw-r--r-- | lib/kernel/slug.mli | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/kernel/slug.mli b/lib/kernel/slug.mli new file mode 100644 index 0000000..0081e2b --- /dev/null +++ b/lib/kernel/slug.mli @@ -0,0 +1,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 |
