jon.recoil.org

Source file language_extension_kernel.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
type maturity =
  | Stable
  | Beta
  | Alpha

(* Remember to update [Language_extension.Exist.all] when changing this type. *)
type _ t =
  | Comprehensions : unit t
  | Mode : maturity t
  | Unique : maturity t
  | Overwriting : unit t
  | Include_functor : unit t
  | Polymorphic_parameters : unit t
  | Immutable_arrays : unit t
  | Module_strengthening : unit t
  | Layouts : maturity t
  | SIMD : maturity t
  | Small_numbers : maturity t
  | Instances : unit t
  | Let_mutable : unit t
  | Layout_poly : maturity t
  | Runtime_metaprogramming : unit t

(* When you update this, update [pair_of_string] below too. *)
let to_string : type a. a t -> string = function
  | Comprehensions -> "comprehensions"
  | Mode -> "mode"
  | Unique -> "unique"
  | Overwriting -> "overwriting"
  | Include_functor -> "include_functor"
  | Polymorphic_parameters -> "polymorphic_parameters"
  | Immutable_arrays -> "immutable_arrays"
  | Module_strengthening -> "module_strengthening"
  | Layouts -> "layouts"
  | SIMD -> "simd"
  | Small_numbers -> "small_numbers"
  | Instances -> "instances"
  | Let_mutable -> "let_mutable"
  | Layout_poly -> "layout_poly"
  | Runtime_metaprogramming -> "runtime_metaprogramming"