24 lines
625 B
OCaml
24 lines
625 B
OCaml
(* Type-checking of the module language *)
|
|
|
|
open Typedtree
|
|
|
|
val type_structure:
|
|
Env.t -> Parsetree.structure -> structure * signature * Env.t
|
|
val transl_signature:
|
|
Env.t -> Parsetree.signature -> signature
|
|
|
|
type error =
|
|
Unbound_module of Longident.t
|
|
| Unbound_modtype of Longident.t
|
|
| Cannot_apply of module_type
|
|
| Not_included of Includemod.error list
|
|
| Cannot_eliminate_dependency of module_type
|
|
| Signature_expected
|
|
| Structure_expected of module_type
|
|
| With_not_abstract of string
|
|
| With_arity_mismatch of string
|
|
|
|
exception Error of Location.t * error
|
|
|
|
val report_error: error -> unit
|