package bistro

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Bistro_script.BSource

Sourcemodule Located : sig ... end
include sig ... end
Sourceval attribute : name:string Astlib.Location.loc -> payload:Astlib.Ast_412.Parsetree.payload -> Astlib.Ast_412.Parsetree.attribute
Sourceval binding_op : op:string Astlib.Location.loc -> pat:Astlib.Ast_412.Parsetree.pattern -> exp:Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.binding_op
Sourceval case : lhs:Astlib.Ast_412.Parsetree.pattern -> guard:Astlib.Ast_412.Parsetree.expression option -> rhs:Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.case
Sourceval pcl_constr : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.core_type list -> Astlib.Ast_412.Parsetree.class_expr
Sourceval pcl_structure : Astlib.Ast_412.Parsetree.class_structure -> Astlib.Ast_412.Parsetree.class_expr
Sourceval pcl_fun : Astlib.Ast_412.Asttypes.arg_label -> Astlib.Ast_412.Parsetree.expression option -> Astlib.Ast_412.Parsetree.pattern -> Astlib.Ast_412.Parsetree.class_expr -> Astlib.Ast_412.Parsetree.class_expr
Sourceval pcl_apply : Astlib.Ast_412.Parsetree.class_expr -> (Astlib.Ast_412.Asttypes.arg_label * Astlib.Ast_412.Parsetree.expression) list -> Astlib.Ast_412.Parsetree.class_expr
Sourceval pcl_let : Astlib.Ast_412.Asttypes.rec_flag -> Astlib.Ast_412.Parsetree.value_binding list -> Astlib.Ast_412.Parsetree.class_expr -> Astlib.Ast_412.Parsetree.class_expr
Sourceval pcl_constraint : Astlib.Ast_412.Parsetree.class_expr -> Astlib.Ast_412.Parsetree.class_type -> Astlib.Ast_412.Parsetree.class_expr
Sourceval pcl_extension : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload) -> Astlib.Ast_412.Parsetree.class_expr
Sourceval pcl_open : Astlib.Longident.t Astlib.Location.loc Astlib.Ast_412.Parsetree.open_infos -> Astlib.Ast_412.Parsetree.class_expr -> Astlib.Ast_412.Parsetree.class_expr
Sourceval pcf_inherit : Astlib.Ast_412.Asttypes.override_flag -> Astlib.Ast_412.Parsetree.class_expr -> string Astlib.Location.loc option -> Astlib.Ast_412.Parsetree.class_field
Sourceval pcf_val : (string Astlib.Location.loc * Astlib.Ast_412.Asttypes.mutable_flag * Astlib.Ast_412.Parsetree.class_field_kind) -> Astlib.Ast_412.Parsetree.class_field
Sourceval pcf_method : (string Astlib.Location.loc * Astlib.Ast_412.Asttypes.private_flag * Astlib.Ast_412.Parsetree.class_field_kind) -> Astlib.Ast_412.Parsetree.class_field
Sourceval pcf_constraint : (Astlib.Ast_412.Parsetree.core_type * Astlib.Ast_412.Parsetree.core_type) -> Astlib.Ast_412.Parsetree.class_field
Sourceval pcf_initializer : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.class_field
Sourceval pcf_attribute : Astlib.Ast_412.Parsetree.attribute -> Astlib.Ast_412.Parsetree.class_field
Sourceval pcf_extension : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload) -> Astlib.Ast_412.Parsetree.class_field
Sourceval class_infos : virt:Astlib.Ast_412.Asttypes.virtual_flag -> params: (Astlib.Ast_412.Parsetree.core_type * (Astlib.Ast_412.Asttypes.variance * Astlib.Ast_412.Asttypes.injectivity)) list -> name:string Astlib.Location.loc -> expr:'a -> 'a Astlib.Ast_412.Parsetree.class_infos
Sourceval class_signature : self:Astlib.Ast_412.Parsetree.core_type -> fields:Astlib.Ast_412.Parsetree.class_type_field list -> Astlib.Ast_412.Parsetree.class_signature
Sourceval class_structure : self:Astlib.Ast_412.Parsetree.pattern -> fields:Astlib.Ast_412.Parsetree.class_field list -> Astlib.Ast_412.Parsetree.class_structure
Sourceval pcty_constr : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.core_type list -> Astlib.Ast_412.Parsetree.class_type
Sourceval pcty_signature : Astlib.Ast_412.Parsetree.class_signature -> Astlib.Ast_412.Parsetree.class_type
Sourceval pcty_arrow : Astlib.Ast_412.Asttypes.arg_label -> Astlib.Ast_412.Parsetree.core_type -> Astlib.Ast_412.Parsetree.class_type -> Astlib.Ast_412.Parsetree.class_type
Sourceval pcty_extension : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload) -> Astlib.Ast_412.Parsetree.class_type
Sourceval pcty_open : Astlib.Longident.t Astlib.Location.loc Astlib.Ast_412.Parsetree.open_infos -> Astlib.Ast_412.Parsetree.class_type -> Astlib.Ast_412.Parsetree.class_type
Sourceval pctf_inherit : Astlib.Ast_412.Parsetree.class_type -> Astlib.Ast_412.Parsetree.class_type_field
Sourceval pctf_val : (string Astlib.Location.loc * Astlib.Ast_412.Asttypes.mutable_flag * Astlib.Ast_412.Asttypes.virtual_flag * Astlib.Ast_412.Parsetree.core_type) -> Astlib.Ast_412.Parsetree.class_type_field
Sourceval pctf_method : (string Astlib.Location.loc * Astlib.Ast_412.Asttypes.private_flag * Astlib.Ast_412.Asttypes.virtual_flag * Astlib.Ast_412.Parsetree.core_type) -> Astlib.Ast_412.Parsetree.class_type_field
Sourceval pctf_constraint : (Astlib.Ast_412.Parsetree.core_type * Astlib.Ast_412.Parsetree.core_type) -> Astlib.Ast_412.Parsetree.class_type_field
Sourceval pctf_attribute : Astlib.Ast_412.Parsetree.attribute -> Astlib.Ast_412.Parsetree.class_type_field
Sourceval pctf_extension : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload) -> Astlib.Ast_412.Parsetree.class_type_field
Sourceval constructor_declaration : name:string Astlib.Location.loc -> args:Astlib.Ast_412.Parsetree.constructor_arguments -> res:Astlib.Ast_412.Parsetree.core_type option -> Astlib.Ast_412.Parsetree.constructor_declaration
Sourceval ptyp_any : Astlib.Ast_412.Parsetree.core_type
Sourceval ptyp_var : string -> Astlib.Ast_412.Parsetree.core_type
Sourceval ptyp_arrow : Astlib.Ast_412.Asttypes.arg_label -> Astlib.Ast_412.Parsetree.core_type -> Astlib.Ast_412.Parsetree.core_type -> Astlib.Ast_412.Parsetree.core_type
Sourceval ptyp_tuple : Astlib.Ast_412.Parsetree.core_type list -> Astlib.Ast_412.Parsetree.core_type
Sourceval ptyp_constr : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.core_type list -> Astlib.Ast_412.Parsetree.core_type
Sourceval ptyp_object : Astlib.Ast_412.Parsetree.object_field list -> Astlib.Ast_412.Asttypes.closed_flag -> Astlib.Ast_412.Parsetree.core_type
Sourceval ptyp_class : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.core_type list -> Astlib.Ast_412.Parsetree.core_type
Sourceval ptyp_alias : Astlib.Ast_412.Parsetree.core_type -> string -> Astlib.Ast_412.Parsetree.core_type
Sourceval ptyp_variant : Astlib.Ast_412.Parsetree.row_field list -> Astlib.Ast_412.Asttypes.closed_flag -> string list option -> Astlib.Ast_412.Parsetree.core_type
Sourceval ptyp_poly : string Astlib.Location.loc list -> Astlib.Ast_412.Parsetree.core_type -> Astlib.Ast_412.Parsetree.core_type
Sourceval ptyp_package : (Astlib.Longident.t Astlib.Location.loc * (Astlib.Longident.t Astlib.Location.loc * Astlib.Ast_412.Parsetree.core_type) list) -> Astlib.Ast_412.Parsetree.core_type
Sourceval ptyp_extension : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload) -> Astlib.Ast_412.Parsetree.core_type
Sourceval pdir_string : string -> Astlib.Ast_412.Parsetree.directive_argument
Sourceval pdir_int : string -> char option -> Astlib.Ast_412.Parsetree.directive_argument
Sourceval pdir_ident : Astlib.Longident.t -> Astlib.Ast_412.Parsetree.directive_argument
Sourceval pdir_bool : bool -> Astlib.Ast_412.Parsetree.directive_argument
Sourceval pexp_ident : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_constant : Astlib.Ast_412.Parsetree.constant -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_let : Astlib.Ast_412.Asttypes.rec_flag -> Astlib.Ast_412.Parsetree.value_binding list -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_function : Astlib.Ast_412.Parsetree.case list -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_fun : Astlib.Ast_412.Asttypes.arg_label -> Astlib.Ast_412.Parsetree.expression option -> Astlib.Ast_412.Parsetree.pattern -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_apply : Astlib.Ast_412.Parsetree.expression -> (Astlib.Ast_412.Asttypes.arg_label * Astlib.Ast_412.Parsetree.expression) list -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_match : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.case list -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_try : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.case list -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_tuple : Astlib.Ast_412.Parsetree.expression list -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_construct : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.expression option -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_variant : string -> Astlib.Ast_412.Parsetree.expression option -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_record : (Astlib.Longident.t Astlib.Location.loc * Astlib.Ast_412.Parsetree.expression) list -> Astlib.Ast_412.Parsetree.expression option -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_field : Astlib.Ast_412.Parsetree.expression -> Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_setfield : Astlib.Ast_412.Parsetree.expression -> Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_array : Astlib.Ast_412.Parsetree.expression list -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_ifthenelse : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression option -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_sequence : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_while : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_for : Astlib.Ast_412.Parsetree.pattern -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Asttypes.direction_flag -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_constraint : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.core_type -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_coerce : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.core_type option -> Astlib.Ast_412.Parsetree.core_type -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_send : Astlib.Ast_412.Parsetree.expression -> string Astlib.Location.loc -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_new : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_setinstvar : string Astlib.Location.loc -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_override : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.expression) list -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_letmodule : string option Astlib.Location.loc -> Astlib.Ast_412.Parsetree.module_expr -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_letexception : Astlib.Ast_412.Parsetree.extension_constructor -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_assert : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_lazy : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_poly : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.core_type option -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_object : Astlib.Ast_412.Parsetree.class_structure -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_newtype : string Astlib.Location.loc -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_pack : Astlib.Ast_412.Parsetree.module_expr -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_open : Astlib.Ast_412.Parsetree.module_expr Astlib.Ast_412.Parsetree.open_infos -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_letop : Astlib.Ast_412.Parsetree.letop -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_extension : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload) -> Astlib.Ast_412.Parsetree.expression
Sourceval pexp_unreachable : Astlib.Ast_412.Parsetree.expression
Sourceval extension_constructor : name:string Astlib.Location.loc -> kind:Astlib.Ast_412.Parsetree.extension_constructor_kind -> Astlib.Ast_412.Parsetree.extension_constructor
Sourceval include_infos : 'a -> 'a Astlib.Ast_412.Parsetree.include_infos
Sourceval label_declaration : name:string Astlib.Location.loc -> mutable_:Astlib.Ast_412.Asttypes.mutable_flag -> type_:Astlib.Ast_412.Parsetree.core_type -> Astlib.Ast_412.Parsetree.label_declaration
Sourceval letop : let_:Astlib.Ast_412.Parsetree.binding_op -> ands:Astlib.Ast_412.Parsetree.binding_op list -> body:Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.letop
Sourceval location : start:Lexing.position -> end_:Lexing.position -> ghost:bool -> Astlib.Location.t
Sourceval module_binding : name:string option Astlib.Location.loc -> expr:Astlib.Ast_412.Parsetree.module_expr -> Astlib.Ast_412.Parsetree.module_binding
Sourceval module_declaration : name:string option Astlib.Location.loc -> type_:Astlib.Ast_412.Parsetree.module_type -> Astlib.Ast_412.Parsetree.module_declaration
Sourceval pmod_ident : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.module_expr
Sourceval pmod_structure : Astlib.Ast_412.Parsetree.structure_item list -> Astlib.Ast_412.Parsetree.module_expr
Sourceval pmod_functor : Astlib.Ast_412.Parsetree.functor_parameter -> Astlib.Ast_412.Parsetree.module_expr -> Astlib.Ast_412.Parsetree.module_expr
Sourceval pmod_apply : Astlib.Ast_412.Parsetree.module_expr -> Astlib.Ast_412.Parsetree.module_expr -> Astlib.Ast_412.Parsetree.module_expr
Sourceval pmod_constraint : Astlib.Ast_412.Parsetree.module_expr -> Astlib.Ast_412.Parsetree.module_type -> Astlib.Ast_412.Parsetree.module_expr
Sourceval pmod_unpack : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.module_expr
Sourceval pmod_extension : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload) -> Astlib.Ast_412.Parsetree.module_expr
Sourceval module_substitution : name:string Astlib.Location.loc -> manifest:Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.module_substitution
Sourceval pmty_ident : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.module_type
Sourceval pmty_signature : Astlib.Ast_412.Parsetree.signature_item list -> Astlib.Ast_412.Parsetree.module_type
Sourceval pmty_functor : Astlib.Ast_412.Parsetree.functor_parameter -> Astlib.Ast_412.Parsetree.module_type -> Astlib.Ast_412.Parsetree.module_type
Sourceval pmty_with : Astlib.Ast_412.Parsetree.module_type -> Astlib.Ast_412.Parsetree.with_constraint list -> Astlib.Ast_412.Parsetree.module_type
Sourceval pmty_typeof : Astlib.Ast_412.Parsetree.module_expr -> Astlib.Ast_412.Parsetree.module_type
Sourceval pmty_extension : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload) -> Astlib.Ast_412.Parsetree.module_type
Sourceval pmty_alias : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.module_type
Sourceval module_type_declaration : name:string Astlib.Location.loc -> type_:Astlib.Ast_412.Parsetree.module_type option -> Astlib.Ast_412.Parsetree.module_type_declaration
Sourceval otag : string Astlib.Location.loc -> Astlib.Ast_412.Parsetree.core_type -> Astlib.Ast_412.Parsetree.object_field
Sourceval oinherit : Astlib.Ast_412.Parsetree.core_type -> Astlib.Ast_412.Parsetree.object_field
Sourceval open_infos : expr:'a -> override:Astlib.Ast_412.Asttypes.override_flag -> 'a Astlib.Ast_412.Parsetree.open_infos
Sourceval ppat_any : Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_var : string Astlib.Location.loc -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_alias : Astlib.Ast_412.Parsetree.pattern -> string Astlib.Location.loc -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_constant : Astlib.Ast_412.Parsetree.constant -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_interval : Astlib.Ast_412.Parsetree.constant -> Astlib.Ast_412.Parsetree.constant -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_tuple : Astlib.Ast_412.Parsetree.pattern list -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_construct : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.pattern option -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_variant : string -> Astlib.Ast_412.Parsetree.pattern option -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_record : (Astlib.Longident.t Astlib.Location.loc * Astlib.Ast_412.Parsetree.pattern) list -> Astlib.Ast_412.Asttypes.closed_flag -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_array : Astlib.Ast_412.Parsetree.pattern list -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_or : Astlib.Ast_412.Parsetree.pattern -> Astlib.Ast_412.Parsetree.pattern -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_constraint : Astlib.Ast_412.Parsetree.pattern -> Astlib.Ast_412.Parsetree.core_type -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_type : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_lazy : Astlib.Ast_412.Parsetree.pattern -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_unpack : string option Astlib.Location.loc -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_exception : Astlib.Ast_412.Parsetree.pattern -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_extension : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload) -> Astlib.Ast_412.Parsetree.pattern
Sourceval ppat_open : Astlib.Longident.t Astlib.Location.loc -> Astlib.Ast_412.Parsetree.pattern -> Astlib.Ast_412.Parsetree.pattern
Sourceval position : fname:string -> lnum:int -> bol:int -> cnum:int -> Lexing.position
Sourceval rtag : string Astlib.Location.loc -> bool -> Astlib.Ast_412.Parsetree.core_type list -> Astlib.Ast_412.Parsetree.row_field
Sourceval rinherit : Astlib.Ast_412.Parsetree.core_type -> Astlib.Ast_412.Parsetree.row_field
Sourceval psig_value : Astlib.Ast_412.Parsetree.value_description -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_type : Astlib.Ast_412.Asttypes.rec_flag -> Astlib.Ast_412.Parsetree.type_declaration list -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_typesubst : Astlib.Ast_412.Parsetree.type_declaration list -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_typext : Astlib.Ast_412.Parsetree.type_extension -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_exception : Astlib.Ast_412.Parsetree.type_exception -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_module : Astlib.Ast_412.Parsetree.module_declaration -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_modsubst : Astlib.Ast_412.Parsetree.module_substitution -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_recmodule : Astlib.Ast_412.Parsetree.module_declaration list -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_modtype : Astlib.Ast_412.Parsetree.module_type_declaration -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_open : Astlib.Longident.t Astlib.Location.loc Astlib.Ast_412.Parsetree.open_infos -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_include : Astlib.Ast_412.Parsetree.module_type Astlib.Ast_412.Parsetree.include_infos -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_class : Astlib.Ast_412.Parsetree.class_type Astlib.Ast_412.Parsetree.class_infos list -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_class_type : Astlib.Ast_412.Parsetree.class_type Astlib.Ast_412.Parsetree.class_infos list -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_attribute : Astlib.Ast_412.Parsetree.attribute -> Astlib.Ast_412.Parsetree.signature_item
Sourceval psig_extension : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload) -> Astlib.Ast_412.Parsetree.attribute list -> Astlib.Ast_412.Parsetree.signature_item
Sourceval pstr_eval : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.attribute list -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_value : Astlib.Ast_412.Asttypes.rec_flag -> Astlib.Ast_412.Parsetree.value_binding list -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_primitive : Astlib.Ast_412.Parsetree.value_description -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_type : Astlib.Ast_412.Asttypes.rec_flag -> Astlib.Ast_412.Parsetree.type_declaration list -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_typext : Astlib.Ast_412.Parsetree.type_extension -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_exception : Astlib.Ast_412.Parsetree.type_exception -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_module : Astlib.Ast_412.Parsetree.module_binding -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_recmodule : Astlib.Ast_412.Parsetree.module_binding list -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_modtype : Astlib.Ast_412.Parsetree.module_type_declaration -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_open : Astlib.Ast_412.Parsetree.module_expr Astlib.Ast_412.Parsetree.open_infos -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_class : Astlib.Ast_412.Parsetree.class_expr Astlib.Ast_412.Parsetree.class_infos list -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_class_type : Astlib.Ast_412.Parsetree.class_type Astlib.Ast_412.Parsetree.class_infos list -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_include : Astlib.Ast_412.Parsetree.module_expr Astlib.Ast_412.Parsetree.include_infos -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_attribute : Astlib.Ast_412.Parsetree.attribute -> Astlib.Ast_412.Parsetree.structure_item
Sourceval pstr_extension : (string Astlib.Location.loc * Astlib.Ast_412.Parsetree.payload) -> Astlib.Ast_412.Parsetree.attribute list -> Astlib.Ast_412.Parsetree.structure_item
Sourceval toplevel_directive : name:string Astlib.Location.loc -> arg:Astlib.Ast_412.Parsetree.directive_argument option -> Astlib.Ast_412.Parsetree.toplevel_directive
Sourceval type_declaration : name:string Astlib.Location.loc -> params: (Astlib.Ast_412.Parsetree.core_type * (Astlib.Ast_412.Asttypes.variance * Astlib.Ast_412.Asttypes.injectivity)) list -> cstrs: (Astlib.Ast_412.Parsetree.core_type * Astlib.Ast_412.Parsetree.core_type * Astlib.Location.t) list -> kind:Astlib.Ast_412.Parsetree.type_kind -> private_:Astlib.Ast_412.Asttypes.private_flag -> manifest:Astlib.Ast_412.Parsetree.core_type option -> Astlib.Ast_412.Parsetree.type_declaration
Sourceval type_exception : Astlib.Ast_412.Parsetree.extension_constructor -> Astlib.Ast_412.Parsetree.type_exception
Sourceval type_extension : path:Astlib.Longident.t Astlib.Location.loc -> params: (Astlib.Ast_412.Parsetree.core_type * (Astlib.Ast_412.Asttypes.variance * Astlib.Ast_412.Asttypes.injectivity)) list -> constructors:Astlib.Ast_412.Parsetree.extension_constructor list -> private_:Astlib.Ast_412.Asttypes.private_flag -> Astlib.Ast_412.Parsetree.type_extension
Sourceval value_binding : pat:Astlib.Ast_412.Parsetree.pattern -> expr:Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.value_binding
Sourceval value_description : name:string Astlib.Location.loc -> type_:Astlib.Ast_412.Parsetree.core_type -> prim:string list -> Astlib.Ast_412.Parsetree.value_description
Sourceval eint : int -> Astlib.Ast_412.Parsetree.expression
Sourceval echar : char -> Astlib.Ast_412.Parsetree.expression
Sourceval estring : string -> Astlib.Ast_412.Parsetree.expression
Sourceval efloat : string -> Astlib.Ast_412.Parsetree.expression
Sourceval eint32 : int32 -> Astlib.Ast_412.Parsetree.expression
Sourceval eint64 : int64 -> Astlib.Ast_412.Parsetree.expression
Sourceval enativeint : nativeint -> Astlib.Ast_412.Parsetree.expression
Sourceval ebool : bool -> Astlib.Ast_412.Parsetree.expression
Sourceval pint : int -> Astlib.Ast_412.Parsetree.pattern
Sourceval pchar : char -> Astlib.Ast_412.Parsetree.pattern
Sourceval pstring : string -> Astlib.Ast_412.Parsetree.pattern
Sourceval pfloat : string -> Astlib.Ast_412.Parsetree.pattern
Sourceval pint32 : int32 -> Astlib.Ast_412.Parsetree.pattern
Sourceval pint64 : int64 -> Astlib.Ast_412.Parsetree.pattern
Sourceval pnativeint : nativeint -> Astlib.Ast_412.Parsetree.pattern
Sourceval pbool : bool -> Astlib.Ast_412.Parsetree.pattern
Sourceval eunit : Astlib.Ast_412.Parsetree.expression
Sourceval punit : Astlib.Ast_412.Parsetree.pattern
Sourceval evar : string -> Astlib.Ast_412.Parsetree.expression

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".

Sourceval pvar : string -> Astlib.Ast_412.Parsetree.pattern
Sourceval eapply : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression list -> Astlib.Ast_412.Parsetree.expression

Same as pexp_apply but without labels

Sourceval eabstract : Astlib.Ast_412.Parsetree.pattern list -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval esequence : Astlib.Ast_412.Parsetree.expression list -> Astlib.Ast_412.Parsetree.expression
Sourceval ppat_tuple_opt : Astlib.Ast_412.Parsetree.pattern list -> Astlib.Ast_412.Parsetree.pattern option
Sourceval pexp_tuple_opt : Astlib.Ast_412.Parsetree.expression list -> Astlib.Ast_412.Parsetree.expression option
Sourceval pconstruct : Astlib.Ast_412.Parsetree.constructor_declaration -> Astlib.Ast_412.Parsetree.pattern option -> Astlib.Ast_412.Parsetree.pattern
Sourceval econstruct : Astlib.Ast_412.Parsetree.constructor_declaration -> Astlib.Ast_412.Parsetree.expression option -> Astlib.Ast_412.Parsetree.expression
Sourceval plist : Astlib.Ast_412.Parsetree.pattern list -> Astlib.Ast_412.Parsetree.pattern
Sourceval pstr_value_list : loc:Ppxlib.Location.t -> Ppxlib_ast.Asttypes.rec_flag -> Astlib.Ast_412.Parsetree.value_binding list -> Astlib.Ast_412.Parsetree.structure_item list

pstr_value_list ~loc rf vbs = pstr_value ~loc rf vbs if vbs <> [], [] otherwise.

Sourceval nonrec_type_declaration : name:string Ppxlib.Loc.t -> params: (Astlib.Ast_412.Parsetree.core_type * Ppxlib_ast.Asttypes.variance) list -> cstrs: (Astlib.Ast_412.Parsetree.core_type * Astlib.Ast_412.Parsetree.core_type * Ppxlib.Location.t) list -> kind:Astlib.Ast_412.Parsetree.type_kind -> private_:Ppxlib_ast.Asttypes.private_flag -> manifest:Astlib.Ast_412.Parsetree.core_type option -> Astlib.Ast_412.Parsetree.type_declaration
  • deprecated [since 2016-10] use Nonrecursive on the P(str|sig)_type instead
Sourceval unapplied_type_constr_conv : Ppxlib.Longident.t Ppxlib.Loc.t -> f:(string -> string) -> Astlib.Ast_412.Parsetree.expression

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:

  • sexp_of_t if path is "t"
  • A.B.sexp_of_foo if path is "A.B.foo"
  • A.B.sexp_of_f__foo (module A1) (module A2) if path is "A.B.F(A1)(A2).foo" 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.
Sourceval type_constr_conv : Ppxlib.Longident.t Ppxlib.Loc.t -> f:(string -> string) -> Astlib.Ast_412.Parsetree.expression list -> Astlib.Ast_412.Parsetree.expression
Sourceval eta_reduce : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression 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:

  • if f has optional arguments, eta-expanding f can drop them
  • because labels commute, it can change the type of an expression: $ let f ~x y = x + y let f2 = fun x -> add x;; val f : x:int -> int -> int = <fun> val f2 : int -> x:int -> int = <fun> In fact, if f 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.

Sourceval eta_reduce_if_possible : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval eta_reduce_if_possible_and_nonrec : Astlib.Ast_412.Parsetree.expression -> rec_flag:Astlib.Ast_412.Asttypes.rec_flag -> Astlib.Ast_412.Parsetree.expression
Sourceval econstr : string -> Astlib.Ast_412.Parsetree.expression list -> Astlib.Ast_412.Parsetree.expression
Sourceval enil : unit -> Astlib.Ast_412.Parsetree.expression
Sourceval econs : Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression -> Astlib.Ast_412.Parsetree.expression
Sourceval elist : Astlib.Ast_412.Parsetree.expression Base.List.t -> Astlib.Ast_412.Parsetree.expression
OCaml

Innovation. Community. Security.