jon.recoil.org

Module Subst.LazySource

include Types.Wrapped
type 'a wrapped
type value_description = {
  1. val_type : Types.type_expr wrapped;
  2. val_modalities : Mode.Modality.t;
    (*

    The modalities on the value in a signature. It is undefined in several cases:

    • The value is not in a structure, so there is no modalities to talk about. For example, adding let x = ... in to the environment will have val_modalities set to undefined.
    • The value was from a structure, but the original modalities have been applied and we have the real mode of the value. The original modalities shouldn't be looked again and is replaced by undefined.
    *)
  3. val_kind : Types.value_kind;
  4. val_lpoly : Types.Lpoly.t wrapped;
    (*

    Guaranteed determined for all values visible outside type_let. May be to_generalize during intermediate stages of typing a let poly_ binding. See Lpoly.

    *)
  5. val_loc : Ocaml_parsing.Location.t;
  6. val_zero_alloc : Zero_alloc.t;
  7. val_attributes : Ocaml_parsing.Parsetree.attributes;
  8. val_uid : Ocaml_typing.Types.Uid.t;
}
type module_type =
  1. | Mty_ident of Path.t
  2. | Mty_signature of signature
  3. | Mty_functor of functor_parameter * module_type * Mode.Alloc.lr
  4. | Mty_alias of Path.t
  5. | Mty_strengthen of module_type * Path.t * Types.Aliasability.t
  6. | Mty_for_hole
and functor_parameter =
  1. | Unit
  2. | Named of Ident.t option * module_type * Mode.Alloc.lr
and signature = signature_item list wrapped
and persistent_signature = signature * Mode.Staticity.Const.t
and module_declaration = {
  1. md_type : module_type;
  2. md_modalities : Mode.Modality.t;
    (*

    Similiar to val_modalities; see comments there.

    *)
  3. md_attributes : Ocaml_parsing.Parsetree.attributes;
  4. md_loc : Ocaml_parsing.Location.t;
  5. md_uid : Ocaml_typing.Types.Uid.t;
}
and modtype_declaration = {
  1. mtd_type : module_type option;
  2. mtd_attributes : Ocaml_parsing.Parsetree.attributes;
  3. mtd_loc : Ocaml_parsing.Location.t;
  4. mtd_uid : Ocaml_typing.Types.Uid.t;
}
Sourceval sort_of_signature_item : signature_item -> Jkind_types.Sort.t option
Sourceval of_value : 'a -> 'a wrapped
Sourceval of_lazy : 'a Lazy.t -> 'a wrapped
Sourceval substitute : t -> 'a wrapped -> 'a wrapped
Sourceval of_signature : Types.signature -> signature
Sourceval of_signature_item : Types.signature_item -> signature_item
Sourceval of_functor_parameter : Types.functor_parameter -> functor_parameter
Sourceval of_value_description : Types.value_description -> value_description
Sourceval modtype : scoping -> t -> module_type -> module_type
Sourceval signature : scoping -> t -> signature -> signature
Sourceval signature_item : scoping -> t -> signature_item -> signature_item
Sourceval value_description : t -> value_description -> value_description
Sourceval force_modtype : module_type -> Types.module_type
Sourceval force_signature : signature -> Types.signature
Sourceval force_signature_once : signature -> signature_item list
Sourceval force_signature_item : signature_item -> Types.signature_item
Sourceval force_functor_parameter : functor_parameter -> Types.functor_parameter
Sourceval force_value_description : value_description -> Types.value_description