man-pages/man3/Typemod.3o.html
2021-03-31 01:06:50 +01:00

435 lines
6.1 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of Typemod</TITLE>
</HEAD><BODY>
<H1>Typemod</H1>
Section: OCaml library (3o)<BR>Updated: 2020-01-30<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
Typemod - Type-checking of the module language and typed ast plugin hooks
<A NAME="lbAC">&nbsp;</A>
<H2>Module</H2>
Module Typemod
<A NAME="lbAD">&nbsp;</A>
<H2>Documentation</H2>
<P>
Module
<B>Typemod</B>
<BR>&nbsp;:&nbsp;
<B>sig end</B>
<P>
<P>
Type-checking of the module language and typed ast plugin hooks
<P>
Warning: this module is unstable and part of
<B>Compiler_libs</B>
.
<P>
<P>
<P>
<P>
<P>
<I>module Signature_names : </I>
<B>sig end</B>
<P>
<P>
<P>
<P>
<P>
<I>val type_module </I>
:
<B>Env.t -&gt; Parsetree.module_expr -&gt; Typedtree.module_expr</B>
<P>
<P>
<P>
<P>
<I>val type_structure </I>
:
<B>Env.t -&gt;</B>
<B>Parsetree.structure -&gt;</B>
<B>Location.t -&gt;</B>
<B>Typedtree.structure * Types.signature * Signature_names.t * Env.t</B>
<P>
<P>
<P>
<P>
<I>val type_toplevel_phrase </I>
:
<B>Env.t -&gt;</B>
<B>Parsetree.structure -&gt;</B>
<B>Typedtree.structure * Types.signature * Signature_names.t * Env.t</B>
<P>
<P>
<P>
<P>
<I>val type_implementation </I>
:
<B>string -&gt;</B>
<B>string -&gt;</B>
<B>string -&gt;</B>
<B>Env.t -&gt;</B>
<B>Parsetree.structure -&gt; Typedtree.structure * Typedtree.module_coercion</B>
<P>
<P>
<P>
<P>
<I>val type_interface </I>
:
<B>string -&gt; Env.t -&gt; Parsetree.signature -&gt; Typedtree.signature</B>
<P>
<P>
<P>
<P>
<I>val transl_signature </I>
:
<B>Env.t -&gt; Parsetree.signature -&gt; Typedtree.signature</B>
<P>
<P>
<P>
<P>
<I>val check_nongen_schemes </I>
:
<B>Env.t -&gt; Types.signature -&gt; unit</B>
<P>
<P>
<P>
<P>
<I>val modtype_of_package </I>
:
<B>Env.t -&gt;</B>
<B>Location.t -&gt;</B>
<B>Path.t -&gt; Longident.t list -&gt; Types.type_expr list -&gt; Types.module_type</B>
<P>
<P>
<P>
<P>
<I>val path_of_module </I>
:
<B>Typedtree.module_expr -&gt; Path.t option</B>
<P>
<P>
<P>
<P>
<I>val save_signature </I>
:
<B>string -&gt;</B>
<B>Typedtree.signature -&gt;</B>
<B>string -&gt; string -&gt; Env.t -&gt; Cmi_format.cmi_infos -&gt; unit</B>
<P>
<P>
<P>
<P>
<I>val package_units </I>
:
<B>Env.t -&gt; string list -&gt; string -&gt; string -&gt; Typedtree.module_coercion</B>
<P>
<P>
<P>
<P>
<I>val initial_env </I>
:
<B>loc:Location.t -&gt;</B>
<B>safe_string:bool -&gt;</B>
<B>initially_opened_module:string option -&gt;</B>
<B>open_implicit_modules:string list -&gt; Env.t</B>
<P>
<P>
<P>
<I>module Sig_component_kind : </I>
<B>sig end</B>
<P>
<P>
<P>
<P>
<I>type hiding_error </I>
=
<BR>&nbsp;|&nbsp;Illegal_shadowing
<B>of {</B>
<BR>&nbsp;shadowed_item_id&nbsp;:&nbsp;
<B>Ident.t</B>
;
<BR>&nbsp;shadowed_item_kind&nbsp;:&nbsp;
<B>Sig_component_kind.t</B>
;
<BR>&nbsp;shadowed_item_loc&nbsp;:&nbsp;
<B>Location.t</B>
;
<BR>&nbsp;shadower_id&nbsp;:&nbsp;
<B>Ident.t</B>
;
<BR>&nbsp;user_id&nbsp;:&nbsp;
<B>Ident.t</B>
;
<BR>&nbsp;user_kind&nbsp;:&nbsp;
<B>Sig_component_kind.t</B>
;
<BR>&nbsp;user_loc&nbsp;:&nbsp;
<B>Location.t</B>
;
<BR>&nbsp;}
<BR>&nbsp;|&nbsp;Appears_in_signature
<B>of {</B>
<BR>&nbsp;opened_item_id&nbsp;:&nbsp;
<B>Ident.t</B>
;
<BR>&nbsp;opened_item_kind&nbsp;:&nbsp;
<B>Sig_component_kind.t</B>
;
<BR>&nbsp;user_id&nbsp;:&nbsp;
<B>Ident.t</B>
;
<BR>&nbsp;user_kind&nbsp;:&nbsp;
<B>Sig_component_kind.t</B>
;
<BR>&nbsp;user_loc&nbsp;:&nbsp;
<B>Location.t</B>
;
<BR>&nbsp;}
<BR>&nbsp;
<P>
<P>
<P>
<I>type error </I>
=
<BR>&nbsp;|&nbsp;Cannot_apply
<B>of </B>
<B>Types.module_type</B>
<BR>&nbsp;|&nbsp;Not_included
<B>of </B>
<B>Includemod.error list</B>
<BR>&nbsp;|&nbsp;Cannot_eliminate_dependency
<B>of </B>
<B>Types.module_type</B>
<BR>&nbsp;|&nbsp;Signature_expected
<BR>&nbsp;|&nbsp;Structure_expected
<B>of </B>
<B>Types.module_type</B>
<BR>&nbsp;|&nbsp;With_no_component
<B>of </B>
<B>Longident.t</B>
<BR>&nbsp;|&nbsp;With_mismatch
<B>of </B>
<B>Longident.t * Includemod.error list</B>
<BR>&nbsp;|&nbsp;With_makes_applicative_functor_ill_typed
<B>of </B>
<B>Longident.t * Path.t * Includemod.error list</B>
<BR>&nbsp;|&nbsp;With_changes_module_alias
<B>of </B>
<B>Longident.t * Ident.t * Path.t</B>
<BR>&nbsp;|&nbsp;With_cannot_remove_constrained_type
<BR>&nbsp;|&nbsp;Repeated_name
<B>of </B>
<B>Sig_component_kind.t * string</B>
<BR>&nbsp;|&nbsp;Non_generalizable
<B>of </B>
<B>Types.type_expr</B>
<BR>&nbsp;|&nbsp;Non_generalizable_class
<B>of </B>
<B>Ident.t * Types.class_declaration</B>
<BR>&nbsp;|&nbsp;Non_generalizable_module
<B>of </B>
<B>Types.module_type</B>
<BR>&nbsp;|&nbsp;Implementation_is_required
<B>of </B>
<B>string</B>
<BR>&nbsp;|&nbsp;Interface_not_compiled
<B>of </B>
<B>string</B>
<BR>&nbsp;|&nbsp;Not_allowed_in_functor_body
<BR>&nbsp;|&nbsp;Not_a_packed_module
<B>of </B>
<B>Types.type_expr</B>
<BR>&nbsp;|&nbsp;Incomplete_packed_module
<B>of </B>
<B>Types.type_expr</B>
<BR>&nbsp;|&nbsp;Scoping_pack
<B>of </B>
<B>Longident.t * Types.type_expr</B>
<BR>&nbsp;|&nbsp;Recursive_module_require_explicit_type
<BR>&nbsp;|&nbsp;Apply_generative
<BR>&nbsp;|&nbsp;Cannot_scrape_alias
<B>of </B>
<B>Path.t</B>
<BR>&nbsp;|&nbsp;Badly_formed_signature
<B>of </B>
<B>string * Typedecl.error</B>
<BR>&nbsp;|&nbsp;Cannot_hide_id
<B>of </B>
<B>hiding_error</B>
<BR>&nbsp;|&nbsp;Invalid_type_subst_rhs
<BR>&nbsp;
<P>
<P>
<P>
<P>
<I>exception Error </I>
<B>of </B>
<B>Location.t * Env.t * error</B>
<P>
<P>
<P>
<P>
<P>
<I>exception Error_forward </I>
<B>of </B>
<B>Location.error</B>
<P>
<P>
<P>
<P>
<P>
<I>val report_error </I>
:
<B>Env.t -&gt; Format.formatter -&gt; error -&gt; unit</B>
<P>
<P>
<P>
<I>module ImplementationHooks : </I>
<B>sig end</B>
<P>
<P>
<P>
<P>
<I>module InterfaceHooks : </I>
<B>sig end</B>
<P>
<P>
<P>
<P>
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="1"><A HREF="#lbAB">NAME</A><DD>
<DT id="2"><A HREF="#lbAC">Module</A><DD>
<DT id="3"><A HREF="#lbAD">Documentation</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:05:58 GMT, March 31, 2021
</BODY>
</HTML>