Ast_compatible
type loc = Melange_compiler_libs.Location.t;
type attrs = list(Melange_compiler_libs.Parsetree.attribute);
let const_exp_string:
?loc:Melange_compiler_libs.Location.t =>
?attrs:attrs =>
?delimiter:string =>
string =>
Melange_compiler_libs.Parsetree.expression;
let const_exp_int:
?loc:Melange_compiler_libs.Location.t =>
?attrs:attrs =>
int =>
Melange_compiler_libs.Parsetree.expression;
let const_exp_int_list_as_array:
list(int) =>
Melange_compiler_libs.Parsetree.expression;
let apply_simple:
?loc:Melange_compiler_libs.Location.t =>
?attrs:attrs =>
Melange_compiler_libs.Parsetree.expression =>
list(Melange_compiler_libs.Parsetree.expression) =>
Melange_compiler_libs.Parsetree.expression;
let apply_labels:
?loc:Melange_compiler_libs.Location.t =>
?attrs:attrs =>
Melange_compiler_libs.Parsetree.expression =>
list((string, Melange_compiler_libs.Parsetree.expression)) =>
Melange_compiler_libs.Parsetree.expression;
Note this function would slightly change its semantics depending on compiler versions for newer version: it means always label for older version: it could be optional (which we should avoid)
let arrow:
?loc:Melange_compiler_libs.Location.t =>
?attrs:attrs =>
Melange_compiler_libs.Parsetree.core_type =>
Melange_compiler_libs.Parsetree.core_type =>
Melange_compiler_libs.Parsetree.core_type;
let label_arrow:
?loc:Melange_compiler_libs.Location.t =>
?attrs:attrs =>
string =>
Melange_compiler_libs.Parsetree.core_type =>
Melange_compiler_libs.Parsetree.core_type =>
Melange_compiler_libs.Parsetree.core_type;
let opt_arrow:
?loc:Melange_compiler_libs.Location.t =>
?attrs:attrs =>
string =>
Melange_compiler_libs.Parsetree.core_type =>
Melange_compiler_libs.Parsetree.core_type =>
Melange_compiler_libs.Parsetree.core_type;
let rec_type_str:
?loc:loc =>
Asttypes.rec_flag =>
list(Melange_compiler_libs.Parsetree.type_declaration) =>
Melange_compiler_libs.Parsetree.structure_item;
let rec_type_sig:
?loc:loc =>
Asttypes.rec_flag =>
list(Melange_compiler_libs.Parsetree.type_declaration) =>
Melange_compiler_libs.Parsetree.signature_item;
type object_field = Melange_compiler_libs.Parsetree.object_field;
let object_field:
Asttypes.loc(Asttypes.label) =>
Melange_compiler_libs.Parsetree.attributes =>
Melange_compiler_libs.Parsetree.core_type =>
object_field;
type args =
list((Asttypes.arg_label, Melange_compiler_libs.Parsetree.expression));