Helpers taking a ~loc
argument. This module is meant to be opened or aliased.
module Located : Ppxlib__.Ast_builder_intf.Located with type a with_loc := a Ppxlib__.Ast_builder_intf.with_location
include module type of Ppxlib__.Ast_builder_generated.M
val case : lhs:Ppxlib__.Import.pattern ‑> guard:Ppxlib__.Import.expression option ‑> rhs:Ppxlib__.Import.expression ‑> Ppxlib__.Import.case
val pcl_constr : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.core_type list ‑> Ppxlib__.Import.class_expr
val pcl_structure : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.class_structure ‑> Ppxlib__.Import.class_expr
val pcl_fun : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.arg_label ‑> Ppxlib__.Import.expression option ‑> Ppxlib__.Import.pattern ‑> Ppxlib__.Import.class_expr ‑> Ppxlib__.Import.class_expr
val pcl_apply : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.class_expr ‑> (Ppxlib__.Import.arg_label * Ppxlib__.Import.expression) list ‑> Ppxlib__.Import.class_expr
val pcl_let : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.rec_flag ‑> Ppxlib__.Import.value_binding list ‑> Ppxlib__.Import.class_expr ‑> Ppxlib__.Import.class_expr
val pcl_constraint : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.class_expr ‑> Ppxlib__.Import.class_type ‑> Ppxlib__.Import.class_expr
val pcl_extension : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension ‑> Ppxlib__.Import.class_expr
val pcf_inherit : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.override_flag ‑> Ppxlib__.Import.class_expr ‑> string Ppxlib__.Import.loc option ‑> Ppxlib__.Import.class_field
val pcf_val : loc:Ppxlib__.Import.location ‑> (string Ppxlib__.Import.loc * Ppxlib__.Import.mutable_flag * Ppxlib__.Import.class_field_kind) ‑> Ppxlib__.Import.class_field
val pcf_method : loc:Ppxlib__.Import.location ‑> (string Ppxlib__.Import.loc * Ppxlib__.Import.private_flag * Ppxlib__.Import.class_field_kind) ‑> Ppxlib__.Import.class_field
val pcf_constraint : loc:Ppxlib__.Import.location ‑> (Ppxlib__.Import.core_type * Ppxlib__.Import.core_type) ‑> Ppxlib__.Import.class_field
val pcf_initializer : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.class_field
val pcf_attribute : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.attribute ‑> Ppxlib__.Import.class_field
val pcf_extension : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension ‑> Ppxlib__.Import.class_field
val class_infos : loc:Ppxlib__.Import.location ‑> virt:Ppxlib__.Import.virtual_flag ‑> params:(Ppxlib__.Import.core_type * Ppxlib__.Import.variance) list ‑> name:string Ppxlib__.Import.loc ‑> expr:'a ‑> 'a Ppxlib__.Import.class_infos
val class_signature : self:Ppxlib__.Import.core_type ‑> fields:Ppxlib__.Import.class_type_field list ‑> Ppxlib__.Import.class_signature
val class_structure : self:Ppxlib__.Import.pattern ‑> fields:Ppxlib__.Import.class_field list ‑> Ppxlib__.Import.class_structure
val pcty_constr : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.core_type list ‑> Ppxlib__.Import.class_type
val pcty_signature : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.class_signature ‑> Ppxlib__.Import.class_type
val pcty_arrow : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.arg_label ‑> Ppxlib__.Import.core_type ‑> Ppxlib__.Import.class_type ‑> Ppxlib__.Import.class_type
val pcty_extension : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension ‑> Ppxlib__.Import.class_type
val pctf_inherit : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.class_type ‑> Ppxlib__.Import.class_type_field
val pctf_val : loc:Ppxlib__.Import.location ‑> (string Ppxlib__.Import.loc * Ppxlib__.Import.mutable_flag * Ppxlib__.Import.virtual_flag * Ppxlib__.Import.core_type) ‑> Ppxlib__.Import.class_type_field
val pctf_method : loc:Ppxlib__.Import.location ‑> (string Ppxlib__.Import.loc * Ppxlib__.Import.private_flag * Ppxlib__.Import.virtual_flag * Ppxlib__.Import.core_type) ‑> Ppxlib__.Import.class_type_field
val pctf_constraint : loc:Ppxlib__.Import.location ‑> (Ppxlib__.Import.core_type * Ppxlib__.Import.core_type) ‑> Ppxlib__.Import.class_type_field
val pctf_attribute : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.attribute ‑> Ppxlib__.Import.class_type_field
val pctf_extension : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension ‑> Ppxlib__.Import.class_type_field
val constructor_declaration : loc:Ppxlib__.Import.location ‑> name:string Ppxlib__.Import.loc ‑> args:Ppxlib__.Import.constructor_arguments ‑> res:Ppxlib__.Import.core_type option ‑> Ppxlib__.Import.constructor_declaration
val ptyp_any : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.core_type
val ptyp_var : loc:Ppxlib__.Import.location ‑> string ‑> Ppxlib__.Import.core_type
val ptyp_arrow : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.arg_label ‑> Ppxlib__.Import.core_type ‑> Ppxlib__.Import.core_type ‑> Ppxlib__.Import.core_type
val ptyp_tuple : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.core_type list ‑> Ppxlib__.Import.core_type
val ptyp_constr : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.core_type list ‑> Ppxlib__.Import.core_type
val ptyp_object : loc:Ppxlib__.Import.location ‑> (string Ppxlib__.Import.loc * Ppxlib__.Import.attributes * Ppxlib__.Import.core_type) list ‑> Ppxlib__.Import.closed_flag ‑> Ppxlib__.Import.core_type
val ptyp_class : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.core_type list ‑> Ppxlib__.Import.core_type
val ptyp_alias : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.core_type ‑> string ‑> Ppxlib__.Import.core_type
val ptyp_variant : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.row_field list ‑> Ppxlib__.Import.closed_flag ‑> Ppxlib__.Import.label list option ‑> Ppxlib__.Import.core_type
val ptyp_poly : loc:Ppxlib__.Import.location ‑> string Ppxlib__.Import.loc list ‑> Ppxlib__.Import.core_type ‑> Ppxlib__.Import.core_type
val ptyp_package : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.package_type ‑> Ppxlib__.Import.core_type
val ptyp_extension : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension ‑> Ppxlib__.Import.core_type
val pexp_ident : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.expression
val pexp_constant : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.constant ‑> Ppxlib__.Import.expression
val pexp_let : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.rec_flag ‑> Ppxlib__.Import.value_binding list ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_function : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.case list ‑> Ppxlib__.Import.expression
val pexp_fun : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.arg_label ‑> Ppxlib__.Import.expression option ‑> Ppxlib__.Import.pattern ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_apply : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> (Ppxlib__.Import.arg_label * Ppxlib__.Import.expression) list ‑> Ppxlib__.Import.expression
val pexp_match : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.case list ‑> Ppxlib__.Import.expression
val pexp_try : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.case list ‑> Ppxlib__.Import.expression
val pexp_tuple : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression list ‑> Ppxlib__.Import.expression
val pexp_construct : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.expression option ‑> Ppxlib__.Import.expression
val pexp_variant : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.label ‑> Ppxlib__.Import.expression option ‑> Ppxlib__.Import.expression
val pexp_record : loc:Ppxlib__.Import.location ‑> (Ppxlib__.Import.longident_loc * Ppxlib__.Import.expression) list ‑> Ppxlib__.Import.expression option ‑> Ppxlib__.Import.expression
val pexp_field : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.expression
val pexp_setfield : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_array : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression list ‑> Ppxlib__.Import.expression
val pexp_ifthenelse : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression option ‑> Ppxlib__.Import.expression
val pexp_sequence : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_while : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_constraint : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.core_type ‑> Ppxlib__.Import.expression
val pexp_coerce : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.core_type option ‑> Ppxlib__.Import.core_type ‑> Ppxlib__.Import.expression
val pexp_send : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> string Ppxlib__.Import.loc ‑> Ppxlib__.Import.expression
val pexp_new : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.expression
val pexp_setinstvar : loc:Ppxlib__.Import.location ‑> string Ppxlib__.Import.loc ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_override : loc:Ppxlib__.Import.location ‑> (string Ppxlib__.Import.loc * Ppxlib__.Import.expression) list ‑> Ppxlib__.Import.expression
val pexp_letmodule : loc:Ppxlib__.Import.location ‑> string Ppxlib__.Import.loc ‑> Ppxlib__.Import.module_expr ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_letexception : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension_constructor ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_assert : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_lazy : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_poly : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.core_type option ‑> Ppxlib__.Import.expression
val pexp_object : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.class_structure ‑> Ppxlib__.Import.expression
val pexp_newtype : loc:Ppxlib__.Import.location ‑> string Ppxlib__.Import.loc ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_pack : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.module_expr ‑> Ppxlib__.Import.expression
val pexp_open : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.override_flag ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val pexp_extension : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension ‑> Ppxlib__.Import.expression
val pexp_unreachable : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression
val extension_constructor : loc:Ppxlib__.Import.location ‑> name:string Ppxlib__.Import.loc ‑> kind:Ppxlib__.Import.extension_constructor_kind ‑> Ppxlib__.Import.extension_constructor
val include_infos : loc:Ppxlib__.Import.location ‑> 'a ‑> 'a Ppxlib__.Import.include_infos
val label_declaration : loc:Ppxlib__.Import.location ‑> name:string Ppxlib__.Import.loc ‑> mutable_:Ppxlib__.Import.mutable_flag ‑> type_:Ppxlib__.Import.core_type ‑> Ppxlib__.Import.label_declaration
val location : start:Ppxlib__.Import.position ‑> end_:Ppxlib__.Import.position ‑> ghost:bool ‑> Ppxlib__.Import.location
val module_binding : loc:Ppxlib__.Import.location ‑> name:string Ppxlib__.Import.loc ‑> expr:Ppxlib__.Import.module_expr ‑> Ppxlib__.Import.module_binding
val module_declaration : loc:Ppxlib__.Import.location ‑> name:string Ppxlib__.Import.loc ‑> type_:Ppxlib__.Import.module_type ‑> Ppxlib__.Import.module_declaration
val pmod_ident : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.module_expr
val pmod_structure : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.structure ‑> Ppxlib__.Import.module_expr
val pmod_functor : loc:Ppxlib__.Import.location ‑> string Ppxlib__.Import.loc ‑> Ppxlib__.Import.module_type option ‑> Ppxlib__.Import.module_expr ‑> Ppxlib__.Import.module_expr
val pmod_apply : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.module_expr ‑> Ppxlib__.Import.module_expr ‑> Ppxlib__.Import.module_expr
val pmod_constraint : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.module_expr ‑> Ppxlib__.Import.module_type ‑> Ppxlib__.Import.module_expr
val pmod_unpack : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.module_expr
val pmod_extension : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension ‑> Ppxlib__.Import.module_expr
val pmty_ident : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.module_type
val pmty_signature : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.signature ‑> Ppxlib__.Import.module_type
val pmty_functor : loc:Ppxlib__.Import.location ‑> string Ppxlib__.Import.loc ‑> Ppxlib__.Import.module_type option ‑> Ppxlib__.Import.module_type ‑> Ppxlib__.Import.module_type
val pmty_with : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.module_type ‑> Ppxlib__.Import.with_constraint list ‑> Ppxlib__.Import.module_type
val pmty_typeof : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.module_expr ‑> Ppxlib__.Import.module_type
val pmty_extension : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension ‑> Ppxlib__.Import.module_type
val pmty_alias : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.module_type
val module_type_declaration : loc:Ppxlib__.Import.location ‑> name:string Ppxlib__.Import.loc ‑> type_:Ppxlib__.Import.module_type option ‑> Ppxlib__.Import.module_type_declaration
val open_description : loc:Ppxlib__.Import.location ‑> lid:Ppxlib__.Import.longident_loc ‑> override:Ppxlib__.Import.override_flag ‑> Ppxlib__.Import.open_description
val ppat_any : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.pattern
val ppat_var : loc:Ppxlib__.Import.location ‑> string Ppxlib__.Import.loc ‑> Ppxlib__.Import.pattern
val ppat_alias : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.pattern ‑> string Ppxlib__.Import.loc ‑> Ppxlib__.Import.pattern
val ppat_constant : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.constant ‑> Ppxlib__.Import.pattern
val ppat_interval : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.constant ‑> Ppxlib__.Import.constant ‑> Ppxlib__.Import.pattern
val ppat_tuple : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.pattern list ‑> Ppxlib__.Import.pattern
val ppat_construct : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.pattern option ‑> Ppxlib__.Import.pattern
val ppat_variant : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.label ‑> Ppxlib__.Import.pattern option ‑> Ppxlib__.Import.pattern
val ppat_record : loc:Ppxlib__.Import.location ‑> (Ppxlib__.Import.longident_loc * Ppxlib__.Import.pattern) list ‑> Ppxlib__.Import.closed_flag ‑> Ppxlib__.Import.pattern
val ppat_array : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.pattern list ‑> Ppxlib__.Import.pattern
val ppat_or : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.pattern ‑> Ppxlib__.Import.pattern ‑> Ppxlib__.Import.pattern
val ppat_constraint : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.pattern ‑> Ppxlib__.Import.core_type ‑> Ppxlib__.Import.pattern
val ppat_type : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.pattern
val ppat_lazy : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.pattern ‑> Ppxlib__.Import.pattern
val ppat_unpack : loc:Ppxlib__.Import.location ‑> string Ppxlib__.Import.loc ‑> Ppxlib__.Import.pattern
val ppat_exception : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.pattern ‑> Ppxlib__.Import.pattern
val ppat_extension : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension ‑> Ppxlib__.Import.pattern
val ppat_open : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.longident_loc ‑> Ppxlib__.Import.pattern ‑> Ppxlib__.Import.pattern
val position : fname:string ‑> lnum:int ‑> bol:int ‑> cnum:int ‑> Ppxlib__.Import.position
val psig_value : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.value_description ‑> Ppxlib__.Import.signature_item
val psig_type : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.rec_flag ‑> Ppxlib__.Import.type_declaration list ‑> Ppxlib__.Import.signature_item
val psig_typext : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.type_extension ‑> Ppxlib__.Import.signature_item
val psig_exception : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension_constructor ‑> Ppxlib__.Import.signature_item
val psig_module : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.module_declaration ‑> Ppxlib__.Import.signature_item
val psig_recmodule : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.module_declaration list ‑> Ppxlib__.Import.signature_item
val psig_modtype : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.module_type_declaration ‑> Ppxlib__.Import.signature_item
val psig_open : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.open_description ‑> Ppxlib__.Import.signature_item
val psig_include : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.include_description ‑> Ppxlib__.Import.signature_item
val psig_class : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.class_description list ‑> Ppxlib__.Import.signature_item
val psig_class_type : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.class_type_declaration list ‑> Ppxlib__.Import.signature_item
val psig_attribute : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.attribute ‑> Ppxlib__.Import.signature_item
val psig_extension : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension ‑> Ppxlib__.Import.attributes ‑> Ppxlib__.Import.signature_item
val pstr_eval : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.attributes ‑> Ppxlib__.Import.structure_item
val pstr_value : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.rec_flag ‑> Ppxlib__.Import.value_binding list ‑> Ppxlib__.Import.structure_item
val pstr_primitive : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.value_description ‑> Ppxlib__.Import.structure_item
val pstr_type : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.rec_flag ‑> Ppxlib__.Import.type_declaration list ‑> Ppxlib__.Import.structure_item
val pstr_typext : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.type_extension ‑> Ppxlib__.Import.structure_item
val pstr_exception : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension_constructor ‑> Ppxlib__.Import.structure_item
val pstr_module : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.module_binding ‑> Ppxlib__.Import.structure_item
val pstr_recmodule : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.module_binding list ‑> Ppxlib__.Import.structure_item
val pstr_modtype : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.module_type_declaration ‑> Ppxlib__.Import.structure_item
val pstr_open : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.open_description ‑> Ppxlib__.Import.structure_item
val pstr_class : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.class_declaration list ‑> Ppxlib__.Import.structure_item
val pstr_class_type : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.class_type_declaration list ‑> Ppxlib__.Import.structure_item
val pstr_include : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.include_declaration ‑> Ppxlib__.Import.structure_item
val pstr_attribute : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.attribute ‑> Ppxlib__.Import.structure_item
val pstr_extension : loc:Ppxlib__.Import.location ‑> Ppxlib__.Import.extension ‑> Ppxlib__.Import.attributes ‑> Ppxlib__.Import.structure_item
val type_declaration : loc:Ppxlib__.Import.location ‑> name:string Ppxlib__.Import.loc ‑> params:(Ppxlib__.Import.core_type * Ppxlib__.Import.variance) list ‑> cstrs:(Ppxlib__.Import.core_type * Ppxlib__.Import.core_type * Ppxlib__.Import.location) list ‑> kind:Ppxlib__.Import.type_kind ‑> private_:Ppxlib__.Import.private_flag ‑> manifest:Ppxlib__.Import.core_type option ‑> Ppxlib__.Import.type_declaration
val type_extension : path:Ppxlib__.Import.longident_loc ‑> params:(Ppxlib__.Import.core_type * Ppxlib__.Import.variance) list ‑> constructors:Ppxlib__.Import.extension_constructor list ‑> private_:Ppxlib__.Import.private_flag ‑> Ppxlib__.Import.type_extension
val value_binding : loc:Ppxlib__.Import.location ‑> pat:Ppxlib__.Import.pattern ‑> expr:Ppxlib__.Import.expression ‑> Ppxlib__.Import.value_binding
val value_description : loc:Ppxlib__.Import.location ‑> name:string Ppxlib__.Import.loc ‑> type_:Ppxlib__.Import.core_type ‑> prim:string list ‑> Ppxlib__.Import.value_description
include Ppxlib__.Ast_builder_intf.Additional_helpers with type a with_loc := a Ppxlib__.Ast_builder_intf.with_location
val eint : (Ppxlib__.Import.int ‑> Ppxlib__.Import.expression) with_loc
val echar : (Ppxlib__.Import.char ‑> Ppxlib__.Import.expression) with_loc
val estring : (Ppxlib__.Import.string ‑> Ppxlib__.Import.expression) with_loc
val efloat : (Ppxlib__.Import.string ‑> Ppxlib__.Import.expression) with_loc
val eint32 : (Ppxlib__.Import.int32 ‑> Ppxlib__.Import.expression) with_loc
val eint64 : (Ppxlib__.Import.int64 ‑> Ppxlib__.Import.expression) with_loc
val enativeint : (Ppxlib__.Import.nativeint ‑> Ppxlib__.Import.expression) with_loc
val ebool : (Ppxlib__.Import.bool ‑> Ppxlib__.Import.expression) with_loc
val pint : (Ppxlib__.Import.int ‑> Ppxlib__.Import.pattern) with_loc
val pchar : (Ppxlib__.Import.char ‑> Ppxlib__.Import.pattern) with_loc
val pstring : (Ppxlib__.Import.string ‑> Ppxlib__.Import.pattern) with_loc
val pfloat : (Ppxlib__.Import.string ‑> Ppxlib__.Import.pattern) with_loc
val pint32 : (Ppxlib__.Import.int32 ‑> Ppxlib__.Import.pattern) with_loc
val pint64 : (Ppxlib__.Import.int64 ‑> Ppxlib__.Import.pattern) with_loc
val pnativeint : (Ppxlib__.Import.nativeint ‑> Ppxlib__.Import.pattern) with_loc
val pbool : (Ppxlib__.Import.bool ‑> Ppxlib__.Import.pattern) with_loc
val eunit : Ppxlib__.Import.expression with_loc
val punit : Ppxlib__.Import.pattern with_loc
val evar : (Ppxlib__.Import.string ‑> Ppxlib__.Import.expression) with_loc
evar id
produces a Pexp_ident _
expression, it parses its input so you can pass
any dot-separated identifier, for instance: evar ~loc "Foo.bar"
.
val pvar : (Ppxlib__.Import.string ‑> Ppxlib__.Import.pattern) with_loc
val eapply : (Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression Ppxlib__.Import.list ‑> Ppxlib__.Import.expression) with_loc
Same as pexp_apply but without labels
val eabstract : (Ppxlib__.Import.pattern Ppxlib__.Import.list ‑> Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression) with_loc
val esequence : (Ppxlib__.Import.expression Ppxlib__.Import.list ‑> Ppxlib__.Import.expression) with_loc
val ppat_tuple_opt : (Ppxlib__.Import.pattern Ppxlib__.Import.list ‑> Ppxlib__.Import.pattern Ppxlib__.Import.option) with_loc
val pexp_tuple_opt : (Ppxlib__.Import.expression Ppxlib__.Import.list ‑> Ppxlib__.Import.expression Ppxlib__.Import.option) with_loc
val elist : (Ppxlib__.Import.expression Ppxlib__.Import.list ‑> Ppxlib__.Import.expression) with_loc
val plist : (Ppxlib__.Import.pattern Ppxlib__.Import.list ‑> Ppxlib__.Import.pattern) with_loc
val pstr_value_list : loc:Location.t ‑> Ppxlib__.Import.Asttypes.rec_flag ‑> Ppxlib__.Import.value_binding Ppxlib__.Import.list ‑> Ppxlib__.Import.structure_item Ppxlib__.Import.list
pstr_value_list ~loc rf vbs
= pstr_value ~loc rf vbs
if vbs <> []
, []
otherwise.
val nonrec_type_declaration : (name:Ppxlib__.Import.string Loc.t ‑> params:(Ppxlib__.Import.core_type * Ppxlib__.Import.Asttypes.variance) Ppxlib__.Import.list ‑> cstrs:(Ppxlib__.Import.core_type * Ppxlib__.Import.core_type * Location.t) Ppxlib__.Import.list ‑> kind:Ppxlib__.Import.type_kind ‑> private_:Ppxlib__.Import.Asttypes.private_flag ‑> manifest:Ppxlib__.Import.core_type Ppxlib__.Import.option ‑> Ppxlib__.Import.type_declaration) with_loc
val unapplied_type_constr_conv : (Longident.t Loc.t ‑> f:(Ppxlib__.Import.string ‑> Ppxlib__.Import.string) ‑> Ppxlib__.Import.expression) with_loc
unapplied_type_constr_conv
is the standard way to map identifiers to conversion
fonctions, for preprocessor that creates values that follow the structure of types.
More precisely, path_conv path (sprintf "sexp_of_%s")
is:
type_constr_conv
also applies it to a list of expression, which both prevents
the compiler from allocating useless closures, and almost always what is needed,
since type constructors are always applied.val type_constr_conv : (Longident.t Loc.t ‑> f:(Ppxlib__.Import.string ‑> Ppxlib__.Import.string) ‑> Ppxlib__.Import.expression Ppxlib__.Import.list ‑> Ppxlib__.Import.expression) with_loc
val eta_reduce : Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression Ppxlib__.Import.option
Tries to simplify fun v1 v2 .. -> f v1 v2 ..
into f
. Only works when f
is a
path, not an arbitrary expression as that would change the meaning of
the code.
This can be used either for cleaning up the generated code, or to reduce allocation
if f
is a local variable (the compiler won't optimize the allocation of the
closure).
Eta-reduction can change the types/behavior in some corner cases that are unlikely to show up in generated code:
f
has optional arguments, eta-expanding f
can drop themf
does side effects before receiving all its arguments, and if
the eta-expansion is partially applied, eta-reducing could change behavior.eta_reduce_if_possible_and_nonrec
is meant for the case where the resulting
expression is going to be bound in a potentially recursive let-binding, where
we have to keep the eta-expansion when rec_flag
is Recursive
to avoid
a compile error.
val eta_reduce_if_possible : Ppxlib__.Import.expression ‑> Ppxlib__.Import.expression
val eta_reduce_if_possible_and_nonrec : Ppxlib__.Import.expression ‑> rec_flag:Ppxlib__.Import.rec_flag ‑> Ppxlib__.Import.expression