jon.recoil.org

Module Subst.Lazy

include Types.Wrapped
type 'a wrapped
type value_description = {
  1. val_type : Types.type_expr Subst.Lazy.wrapped;
  2. val_modalities : Mode.Modality.t;
  3. val_kind : Types.value_kind;
  4. val_loc : Location.t;
  5. val_zero_alloc : Zero_alloc.t;
  6. val_attributes : Parsetree.attributes;
  7. val_uid : Types.Uid.t;
}
type module_type =
  1. | Mty_ident of Path.t
  2. | Mty_signature of Subst.Lazy.signature
  3. | Mty_functor of Subst.Lazy.functor_parameter * Subst.Lazy.module_type
  4. | Mty_alias of Path.t
  5. | Mty_strengthen of Subst.Lazy.module_type * Path.t * Types.Aliasability.t
and functor_parameter =
  1. | Unit
  2. | Named of Ident.t option * Subst.Lazy.module_type
and module_declaration = {
  1. md_type : Subst.Lazy.module_type;
  2. md_modalities : Mode.Modality.t;
  3. md_attributes : Parsetree.attributes;
  4. md_loc : Location.t;
  5. md_uid : Types.Uid.t;
}
and modtype_declaration = {
  1. mtd_type : Subst.Lazy.module_type option;
  2. mtd_attributes : Parsetree.attributes;
  3. mtd_loc : Location.t;
  4. mtd_uid : Types.Uid.t;
}
val sort_of_signature_item : Subst.Lazy.signature_item -> Jkind_types.Sort.t option
val of_value : 'a -> 'a Subst.Lazy.wrapped
val of_lazy : 'a Stdlib.Lazy.t -> 'a Subst.Lazy.wrapped
val substitute : Subst.t -> 'a Subst.Lazy.wrapped -> 'a Subst.Lazy.wrapped
val force_signature : Subst.Lazy.signature -> Types.signature
val force_signature_once : Subst.Lazy.signature -> Subst.Lazy.signature_item list
val force_signature_item : Subst.Lazy.signature_item -> Types.signature_item
val force_functor_parameter : Subst.Lazy.functor_parameter -> Types.functor_parameter
val force_value_description : Subst.Lazy.value_description -> Types.value_description