Type expressions
val mk : ?loc:loc -> ?attrs:attrs -> Parsetree.core_type_desc -> Parsetree.core_type
val attr : Parsetree.core_type -> Parsetree.attribute -> Parsetree.core_type
val any : ?loc:loc -> ?attrs:attrs -> unit -> Parsetree.core_type
val var : ?loc:loc -> ?attrs:attrs -> string -> Parsetree.core_type
val arrow : ?loc:loc -> ?attrs:attrs -> Asttypes.arg_label -> Parsetree.core_type -> Parsetree.core_type -> Parsetree.core_type
val tuple : ?loc:loc -> ?attrs:attrs -> Parsetree.core_type list -> Parsetree.core_type
val constr : ?loc:loc -> ?attrs:attrs -> lid -> Parsetree.core_type list -> Parsetree.core_type
val object_ : ?loc:loc -> ?attrs:attrs -> (str * Parsetree.attributes * Parsetree.core_type) list -> Asttypes.closed_flag -> Parsetree.core_type
val class_ : ?loc:loc -> ?attrs:attrs -> lid -> Parsetree.core_type list -> Parsetree.core_type
val alias : ?loc:loc -> ?attrs:attrs -> Parsetree.core_type -> string -> Parsetree.core_type
val variant : ?loc:loc -> ?attrs:attrs -> Parsetree.row_field list -> Asttypes.closed_flag -> Asttypes.label list option -> Parsetree.core_type
val poly : ?loc:loc -> ?attrs:attrs -> str list -> Parsetree.core_type -> Parsetree.core_type
val package : ?loc:loc -> ?attrs:attrs -> lid -> (lid * Parsetree.core_type) list -> Parsetree.core_type
val extension : ?loc:loc -> ?attrs:attrs -> Parsetree.extension -> Parsetree.core_type
val force_poly : Parsetree.core_type -> Parsetree.core_type
val varify_constructors : str list -> 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
.