Module Language_extension.Universe

The type of language extension universes. Each universe allows a set of extensions, and every successive universe includes the previous one.

Each variant corresponds to the -extension-universe <variant> CLI flag.

Each extension universe, except for No_extensions, should also have a corresponding library in otherlibs/. Those libraries must contain OCaml code for corresponding extensions that would normally go into Stdlib.

type t =
  1. | No_extensions
  2. | Upstream_compatible
    (*

    Upstream compatible extensions, also known as "erasable".

    *)
  3. | Stable
    (*

    Extensions of Stable maturity.

    *)
  4. | Beta
    (*

    Extensions of Beta maturity.

    *)
  5. | Alpha
    (*

    All extensions. This is the universe enabled by default for the time being.

    *)
val all : t list
val maximal : t

Equal to Alpha.

val to_string : t -> string
val of_string : string -> t option