Index of values

A
abstract [Pa_type_conv.Gen]

abstract loc patts body takes a location loc, a pattern list patts, and an expression body.

add_generator [Pa_type_conv]

add_generator ?is_exn name gen adds the code generator gen, which maps type or exception declarations to structure items, where is_exn specifies whether the declaration is an exception.

add_generator_with_arg [Pa_type_conv]

add_generator_with_arg ?is_exn name entry generator same as add_generator, but the generator may accept an argument, which is parsed with entry.

add_record_field_generator [Pa_type_conv]

add_record_field_generator gen_name gen adds the record field code generator gen with name gen_name, which acts on the location identifying the record field.

add_record_field_generator_with_arg [Pa_type_conv]

add_record_field_generator_with_arg name entry generator same as add_record_field_generator, but the generator takes an argument, which is parsed with entry.

add_set [Pa_type_conv]

add_set ~kind ~is_exn id ~set is a shorthand for doing multiple calls to add_str_set and add_sig_set

add_sig_generator [Pa_type_conv]

add_sig_generator ?delayed ?is_exn name gen adds the code generator gen, which maps type or exception declarations to signature items, where is_exn specifies whether the declaration is an exception.

add_sig_generator_with_arg [Pa_type_conv]

add_sig_generator_with_arg ?delayed ?is_exn name entry generator same as add_sig_generator, but the generator may accept an argument, which is parsed with entry.

add_sig_set [Pa_type_conv]

add_sig_set ?is_exn id ~set adds the generator id to the list of generators for signatures.

add_str_set [Pa_type_conv]

add_str_set ?is_exn id ~set behaves exactly like add_sig_set ?is_exn id ~set but for structure items instead of signatures items.

apply [Pa_type_conv.Gen]

apply loc f_expr arg_exprs takes a location loc, an expression f_expr representing a function, and a list of argument expressions arg_exprs.

D
delay_sig_item [Pa_type_conv.Gen]

delay_sig_item item places item at the end of the current signature

drop_variance_annotations [Pa_type_conv.Gen]

drop_variance_annotations tp

E
error [Pa_type_conv.Gen]

error tp ~fn ~msg raises an error with msg on type tp occuring in function fn.

exApp_of_list [Pa_type_conv.Gen]

expr_app_of_list l takes list l of expressions e1; e2; e3; ... and returns the expression e1 e2 e3.

F
find_record_default [Pa_type_conv.Gen]

find_record_default loc

G
gensym [Pa_type_conv.Gen]

gensym ?prefix () generates a fresh variable name with prefix.

get_appl_path [Pa_type_conv.Gen]

get_appl_path loc tp

get_conv_path [Pa_type_conv]

get_conv_path ()

get_loc_err [Pa_type_conv]

get_loc_err loc msg generates a compile-time error message.

get_rev_id_path [Pa_type_conv.Gen]

get_rev_id_path id acc takes an identifier.

get_tparam_id [Pa_type_conv.Gen]

get_tparam_id tp

H
hash_variant [Pa_type_conv]

hash_variant str

I
ident_of_rev_path [Pa_type_conv.Gen]

ident_of_rev_path loc path takes a location loc and a reversed path rev_path to an identifier.

M
mk_expr_lst [Pa_type_conv.Gen]

mk_expr_lst loc expr_list takes a list of expressions.

mk_patt_lst [Pa_type_conv.Gen]

mk_patt_lst _loc patt_list takes a list of patterns.

P
paOr_of_list [Pa_type_conv.Gen]

paOr_of_list l takes list l of patterns p1; p2; p3; ... and returns the pattern p1 | p2 | p3 | ...

R
regular_constr_of_revised_constr [Pa_type_conv.Gen]
rm_generator [Pa_type_conv]

rm_generator ?is_exn name removes the code generator named name for types if is_exn is false, or exceptions otherwise.

rm_record_field_generator [Pa_type_conv]

rm_record_field_generator name removes the record field code generator named name.

rm_sig_generator [Pa_type_conv]

rm_sig_generator ?is_exn name removes the signature code generator named name for types if is_exn is false, or exceptions otherwise.

S
set_conv_path_if_not_set [Pa_type_conv]

set_conv_path_if_not_set loc sets the path to the file/module being converted for improved error messages.

sig_ [Pa_type_conv.Rewrite_tds]

sig_ loc rec_ typedefs rewrites the given type definition to make it either recursive or non recursive.

str_ [Pa_type_conv.Rewrite_tds]

str_ loc rec_ typedefs does the same thing as sig_ loc rec_ typedefs, except that it returns a structure item instead of a signature item.

string_of_ctyp [Pa_type_conv.Gen]
switch_tp_def [Pa_type_conv.Gen]

switch_tp_def ~alias ~sum ~record ~variants ~mani tp_def takes a handler function for each kind of type definition and applies the appropriate handler when tp_def matches.

T
tyArr_of_list [Pa_type_conv.Gen]

tyArr_of_list l takes list l of types e1; e2; e3; ... and returns the type e1 -> e2 -> e3.

ty_var_list_of_ctyp [Pa_type_conv.Gen]

ty_var_list_of_ctyp tp acc accumulates a list of type parameters contained in tp into acc as strings.

type_is_recursive [Pa_type_conv.Gen]

type_is_recursive ?short_circuit id tp

U
unknown_type [Pa_type_conv.Gen]

unknown_type tp fn type tp cannot be handled by function fn.