package ocaml-base-compiler

  1. Overview
  2. Docs
type mark =
  1. | Mark_both
    (*

    Mark definitions used from both arguments

    *)
  2. | Mark_positive
    (*

    Mark definitions used from the positive (first) argument

    *)
  3. | Mark_negative
    (*

    Mark definitions used from the negative (second) argument

    *)
  4. | Mark_neither
    (*

    Do not mark definitions used from either argument

    *)

Type describing which arguments of an inclusion to consider as used for the usage warnings. Mark_both is the default.

val strengthened_module_decl : loc:Location.t -> aliasable:bool -> Env.t -> mark:mark -> Types.module_declaration -> Path.t -> Types.module_declaration -> Typedtree.module_coercion
val check_modtype_inclusion : loc:Location.t -> Env.t -> Types.module_type -> Path.t -> Types.module_type -> unit

check_modtype_inclusion ~loc env mty1 path1 mty2 checks that the functor application F(M) is well typed, where mty2 is the type of the argument of F and path1/mty1 is the path/unstrenghened type of M.

val compunit : Env.t -> mark:mark -> string -> Types.signature -> string -> Types.signature -> Typedtree.module_coercion
val type_declarations : loc:Location.t -> Env.t -> mark:mark -> Ident.t -> Types.type_declaration -> Types.type_declaration -> unit
val print_coercion : Format.formatter -> Typedtree.module_coercion -> unit
type symptom =
  1. | Missing_field of Ident.t * Location.t * string
  2. | Value_descriptions of Ident.t * Types.value_description * Types.value_description
  3. | Type_declarations of Ident.t * Types.type_declaration * Types.type_declaration * Includecore.type_mismatch
  4. | Extension_constructors of Ident.t * Types.extension_constructor * Types.extension_constructor * Includecore.extension_constructor_mismatch
  5. | Module_types of Types.module_type * Types.module_type
  6. | Modtype_infos of Ident.t * Types.modtype_declaration * Types.modtype_declaration
  7. | Modtype_permutation of Types.module_type * Typedtree.module_coercion
  8. | Interface_mismatch of string * string
  9. | Class_type_declarations of Ident.t * Types.class_type_declaration * Types.class_type_declaration * Ctype.class_match_failure list
  10. | Class_declarations of Ident.t * Types.class_declaration * Types.class_declaration * Ctype.class_match_failure list
  11. | Unbound_modtype_path of Path.t
  12. | Unbound_module_path of Path.t
  13. | Invalid_module_alias of Path.t
type pos =
  1. | Module of Ident.t
  2. | Modtype of Ident.t
  3. | Arg of Types.functor_parameter
  4. | Body of Types.functor_parameter
type error = pos list * Env.t * symptom
exception Error of error list
val report_error : Format.formatter -> error list -> unit
val expand_module_alias : Env.t -> pos list -> Path.t -> Types.module_type
OCaml

Innovation. Community. Security.