# 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`.