Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Namespace
module Mstr : sig ... end
type namespace = {
ns_ts : Ttypes.tysymbol Mstr.t;
ns_ls : Tterm.lsymbol Mstr.t;
ns_fd : Tterm.lsymbol Mstr.t;
ns_xs : Ttypes.xsymbol Mstr.t;
ns_ns : namespace Mstr.t;
ns_tns : namespace Mstr.t;
}
val empty_ns : namespace
val add :
allow_duplicate:bool ->
equal:('a -> 'b -> bool) ->
loc:Ppxlib.Location.t ->
'c Mstr.t ->
Mstr.key ->
'd ->
'c Mstr.t
val ns_add_ts :
allow_duplicate:bool ->
namespace ->
Mstr.key ->
Ttypes.tysymbol ->
namespace
val ns_add_ls :
allow_duplicate:'a ->
namespace ->
Mstr.key ->
Tterm.lsymbol ->
namespace
val ns_add_fd :
allow_duplicate:'a ->
namespace ->
Mstr.key ->
Tterm.lsymbol ->
namespace
val ns_add_xs :
allow_duplicate:bool ->
namespace ->
Mstr.key ->
Ttypes.xsymbol ->
namespace
val ns_find_ts : namespace -> Mstr.key list -> Ttypes.tysymbol
val ns_find_ls : namespace -> Mstr.key list -> Tterm.lsymbol
val ns_find_fd : namespace -> Mstr.key list -> Tterm.lsymbol
val ns_find_xs : namespace -> Mstr.key list -> Ttypes.xsymbol
val ns_replace_ts : Ttypes.tysymbol -> Mstr.key list -> namespace -> namespace
val ns_subst_ts : Ttypes.tysymbol -> Ttypes.tysymbol -> namespace -> namespace
val ns_subst_ty :
Ttypes.tysymbol ->
Ttypes.tysymbol ->
Ttypes.ty ->
namespace ->
namespace
Primitives types and functions
val ns_with_primitives : namespace
Modules
module Mid : sig ... end
type known_ids = Tast.signature_item Mid.t
type module_uc = {
muc_nm : Gospel.Tast.Ident.t;
muc_sigs : Tast.signature list;
muc_prefix : string list;
muc_import : namespace list;
muc_export : namespace list;
muc_files : file Mstr.t;
muc_kid : known_ids;
muc_crcm : Coercion.t;
}
val add_ts :
?export:bool ->
module_uc ->
Mstr.key ->
Ttypes.tysymbol ->
module_uc
val add_ls :
?export:bool ->
module_uc ->
Mstr.key ->
Tterm.lsymbol ->
module_uc
val add_fd :
?export:bool ->
module_uc ->
Mstr.key ->
Tterm.lsymbol ->
module_uc
val add_xs :
?export:bool ->
module_uc ->
Mstr.key ->
Ttypes.xsymbol ->
module_uc
val add_kid : module_uc -> Mid.key -> Tast.signature_item -> module_uc
val add_sig : module_uc -> Tast.signature_item -> module_uc
val add_coer : module_uc -> Tterm.lsymbol -> module_uc
val muc_replace_ts : module_uc -> Ttypes.tysymbol -> Mstr.key list -> module_uc
val muc_subst_ts : module_uc -> Ttypes.tysymbol -> Ttypes.tysymbol -> module_uc
val muc_subst_ty :
module_uc ->
Ttypes.tysymbol ->
Ttypes.tysymbol ->
Ttypes.ty ->
module_uc
val get_top_sigs : module_uc -> Tast.signature_item list
val add_sig_contents : module_uc -> Tast.signature_item -> module_uc
Module under construction with primitive types and functions
val init_muc : string -> module_uc
Pretty printing
val tree_ns : ('a -> 'b Mstr.t) -> Format.formatter -> 'b Mstr.t -> unit
val print_mstr_vals :
(Format.formatter -> 'a -> unit) ->
Format.formatter ->
'b Mstr.t ->
unit
val print_nested_ns : Format.formatter -> namespace Mstr.t -> unit
val print_ns : Mstr.key -> Format.formatter -> namespace -> unit
val print_file : Format.formatter -> file -> unit