package atd
Library
Module
Module type
Parameter
Class
Class type
Top-level utilities
val read_lexbuf :
?annot_schema:Annot.schema ->
?expand:bool ->
?keep_builtins:bool ->
?keep_poly:bool ->
?xdebug:bool ->
?inherit_fields:bool ->
?inherit_variants:bool ->
?pos_fname:string ->
?pos_lnum:int ->
Lexing.lexbuf ->
Ast.full_module * Expand.original_types
Read an ATD file from a lexbuf. See also read_channel
, load_file
and load_string
.
If expand is true, the second part of the return value will contain a hash table mapping the types generated during monomorphization back to their original polymorphic types. See Expand.original_types
for more information about this table. If expand is false, the value will be the empty hash table.
val read_channel :
?annot_schema:Annot.schema ->
?expand:bool ->
?keep_builtins:bool ->
?keep_poly:bool ->
?xdebug:bool ->
?inherit_fields:bool ->
?inherit_variants:bool ->
?pos_fname:string ->
?pos_lnum:int ->
in_channel ->
Ast.full_module * Expand.original_types
Read an ATD file from an in_channel
. Options: see read_lexbuf
. The default pos_fname
is set to "<stdin>"
when appropriate.
val load_file :
?annot_schema:Annot.schema ->
?expand:bool ->
?keep_builtins:bool ->
?keep_poly:bool ->
?xdebug:bool ->
?inherit_fields:bool ->
?inherit_variants:bool ->
?pos_fname:string ->
?pos_lnum:int ->
string ->
Ast.full_module * Expand.original_types
Read an ATD file. Options: see read_lexbuf
. The default pos_fname
is the given input file name.
val load_string :
?annot_schema:Annot.schema ->
?expand:bool ->
?keep_builtins:bool ->
?keep_poly:bool ->
?xdebug:bool ->
?inherit_fields:bool ->
?inherit_variants:bool ->
?pos_fname:string ->
?pos_lnum:int ->
string ->
Ast.full_module * Expand.original_types
Read ATD data from a string. Options: see read_lexbuf
.
val tsort : Ast.module_body -> (bool * Ast.module_body) list
Topological sort for dependency analysis. tsort
splits definitions into mutually-recursive groups, ordered such that each group may only depend on type definitions of its own group or previous groups. The boolean flags indicate groups of one or more mutually recursive definitions.