package oasis

  1. Overview
  2. Docs

Various utilities

  • author Sylvain Le Gall

Map

module MapExt : sig ... end
module MapString : MapExt.S with type key = String.t

Set

module SetExt : sig ... end
module SetString : SetExt.S with type elt = String.t

Set for String.

module SetStringCsl : SetExt.S with type elt = String.t

Set for String.

Hashtable

module HashStringCsl : Hashtbl.S with type key = String.t

Caseless string hashtable

Variable name

val varname_of_string : ?hyphen:char -> string -> string

varname_of_string ~hyphen:c s Transform a string s into a variable name, following this convention: no digit at the beginning, lowercase, only a-z and 0-9 chars. Whenever there is a problem, use an hyphen.

val varname_concat : ?hyphen:char -> string -> string -> string

varname_concat ~hyphen p s Concat variable name, removing hyphen at end of p and at beginning of s.

val is_varname : string -> bool

is_varname str Check that the string str is a valid varname. See varname_of_string for definition.

Fail with Printf.sprintf

val failwithf : ('a, unit, string, 'b) Pervasives.format4 -> 'a

This function raise the Failure exception just as failwith except that one specify the string raised through a format string.

Example: failwithf "Cannot do %s because of %d" str i

String

val compare_csl : string -> string -> int

Caseless compare function

Options

val may : ('a -> unit) -> 'a option -> unit

may f (Some x) calls f x or do nothing.

module POSIXShell : sig ... end