Ast_helper.Typ
Type expressions
let mk:
?loc:loc =>
?attrs:attrs =>
Parsetree.core_type_desc =>
Parsetree.core_type;
let attr: Parsetree.core_type => Parsetree.attribute => Parsetree.core_type;
let any: ?loc:loc => ?attrs:attrs => unit => Parsetree.core_type;
let var: ?loc:loc => ?attrs:attrs => string => Parsetree.core_type;
let arrow:
?loc:loc =>
?attrs:attrs =>
Asttypes.arg_label =>
Parsetree.core_type =>
Parsetree.core_type =>
Parsetree.core_type;
let tuple:
?loc:loc =>
?attrs:attrs =>
list(Parsetree.core_type) =>
Parsetree.core_type;
let constr:
?loc:loc =>
?attrs:attrs =>
lid =>
list(Parsetree.core_type) =>
Parsetree.core_type;
let object_:
?loc:loc =>
?attrs:attrs =>
list(Parsetree.object_field) =>
Asttypes.closed_flag =>
Parsetree.core_type;
let class_:
?loc:loc =>
?attrs:attrs =>
lid =>
list(Parsetree.core_type) =>
Parsetree.core_type;
let alias:
?loc:loc =>
?attrs:attrs =>
Parsetree.core_type =>
string =>
Parsetree.core_type;
let variant:
?loc:loc =>
?attrs:attrs =>
list(Parsetree.row_field) =>
Asttypes.closed_flag =>
option(list(Asttypes.label)) =>
Parsetree.core_type;
let poly:
?loc:loc =>
?attrs:attrs =>
list(str) =>
Parsetree.core_type =>
Parsetree.core_type;
let package:
?loc:loc =>
?attrs:attrs =>
lid =>
list((lid, Parsetree.core_type)) =>
Parsetree.core_type;
let extension:
?loc:loc =>
?attrs:attrs =>
Parsetree.extension =>
Parsetree.core_type;
let force_poly: Parsetree.core_type => Parsetree.core_type;
let varify_constructors:
list(str) =>
Parsetree.core_type =>
Parsetree.core_type;
varify_constructors newtypes te
is type expression te
, of which any of nullary type constructor tc
is replaced by type variable of the same name, if tc
's name appears in newtypes
. Raise Syntaxerr.Variable_in_scope
if any type variable inside te
appears in newtypes
.