Module Ocaml_utils.Language_extension_kernel

Language extensions provided by the Jane Street version of the OCaml compiler. These are the parts of Language_extension that are required by Profile_counters_functions. Forward declaring these allow us to avoid a mutual dependency between files in utils/ and parsing/. Such a dependency prevents Merlin from compiling.

type maturity =
  1. | Stable
  2. | Beta
  3. | Alpha
type _ t =
  1. | Comprehensions : unit t
  2. | Mode : maturity t
  3. | Unique : maturity t
  4. | Overwriting : unit t
  5. | Include_functor : unit t
  6. | Polymorphic_parameters : unit t
  7. | Immutable_arrays : unit t
  8. | Module_strengthening : unit t
  9. | Layouts : maturity t
  10. | SIMD : maturity t
  11. | Labeled_tuples : unit t
  12. | Small_numbers : maturity t
  13. | Instances : unit t
  14. | Separability : unit t
  15. | Let_mutable : unit t
  16. | Layout_poly : maturity t
  17. | Runtime_metaprogramming : unit t

The type of language extensions. An 'a t is an extension that can either be off or be set to have any value in 'a, so a unit t can be either on or off, while a maturity t can have different maturity settings.

val to_string : _ t -> string

Print and parse language extensions; parsing is case-insensitive