Module Ppx_quickcheck_expander__.Import
include Base
module Applicative = Base.Applicative
module Array = Base.Array
module Avltree = Base.Avltree
module Backtrace = Base.Backtrace
module Binary_search = Base.Binary_search
module Binary_searchable = Base.Binary_searchable
module Blit = Base.Blit
module Bool = Base.Bool
module Buffer = Base.Buffer
module Bytes = Base.Bytes
module Char = Base.Char
module Comparable = Base.Comparable
module Comparator = Base.Comparator
module Comparisons = Base.Comparisons
module Container = Base.Container
module Either = Base.Either
module Equal = Base.Equal
module Error = Base.Error
module Exn = Base.Exn
module Field = Base.Field
module Float = Base.Float
module Floatable = Base.Floatable
module Fn = Base.Fn
module Formatter = Base.Formatter
module Hash = Base.Hash
module Hash_set = Base.Hash_set
module Hashable = Base.Hashable
module Hasher = Base.Hasher
module Hashtbl = Base.Hashtbl
module Identifiable = Base.Identifiable
module Indexed_container = Base.Indexed_container
module Info = Base.Info
module Int = Base.Int
module Int32 = Base.Int32
module Int63 = Base.Int63
module Int64 = Base.Int64
module Intable = Base.Intable
module Invariant = Base.Invariant
module Lazy = Base.Lazy
module List = Base.List
module Map = Base.Map
module Maybe_bound = Base.Maybe_bound
module Monad = Base.Monad
module Nativeint = Base.Nativeint
module Option = Base.Option
module Option_array = Base.Option_array
module Or_error = Base.Or_error
module Ordered_collection_common = Base.Ordered_collection_common
module Ordering = Base.Ordering
module Poly = Base.Poly
module Polymorphic_compare = Poly
module Popcount = Base.Popcount
module Pretty_printer = Base.Pretty_printer
module Printf = Base.Printf
module Linked_queue = Base.Linked_queue
module Queue = Base.Queue
module Random = Base.Random
module Ref = Base.Ref
module Result = Base.Result
module Sequence = Base.Sequence
module Set = Base.Set
module Sexpable = Base.Sexpable
module Sign = Base.Sign
module Sign_or_nan = Base.Sign_or_nan
module Source_code_position = Base.Source_code_position
module Stack = Base.Stack
module Staged = Base.Staged
module String = Base.String
module Stringable = Base.Stringable
module Sys = Base.Sys
module T = Base.T
module Type_equal = Base.Type_equal
module Uniform_array = Base.Uniform_array
module Unit = Base.Unit
module Uchar = Base.Uchar
module Validate = Base.Validate
module Variant = Base.Variant
module With_return = Base.With_return
module Word_size = Base.Word_size
module Sexp = Base.Sexp
module Export = Base.Export
include Export
type 'a array
= 'a Array.t
val compare_array : a. ('a -> 'a -> int) -> 'a array -> 'a array -> int
val equal_array : a. ('a -> 'a -> bool) -> 'a array -> 'a array -> bool
val array_of_sexp : a. (Sexp.t -> 'a) -> Sexp.t -> 'a array
val sexp_of_array : a. ('a -> Sexp.t) -> 'a array -> Sexp.t
type bool
= Bool.t
val compare_bool : bool -> bool -> int
val equal_bool : bool -> bool -> bool
val hash_fold_bool : Hash.state -> bool -> Hash.state
val hash_bool : bool -> Hash.hash_value
val bool_of_sexp : Sexp.t -> bool
val sexp_of_bool : bool -> Sexp.t
type char
= Char.t
val compare_char : char -> char -> int
val equal_char : char -> char -> bool
val hash_fold_char : Hash.state -> char -> Hash.state
val hash_char : char -> Hash.hash_value
val char_of_sexp : Sexp.t -> char
val sexp_of_char : char -> Sexp.t
type exn
= Exn.t
type float
= Float.t
val compare_float : float -> float -> int
val equal_float : float -> float -> bool
val hash_fold_float : Hash.state -> float -> Hash.state
val hash_float : float -> Hash.hash_value
val float_of_sexp : Sexp.t -> float
val sexp_of_float : float -> Sexp.t
type int
= Int.t
val compare_int : int -> int -> int
val equal_int : int -> int -> bool
val hash_fold_int : Hash.state -> int -> Hash.state
val hash_int : int -> Hash.hash_value
val int_of_sexp : Sexp.t -> int
val sexp_of_int : int -> Sexp.t
type int32
= Int32.t
val compare_int32 : int32 -> int32 -> int
val equal_int32 : int32 -> int32 -> bool
val hash_fold_int32 : Hash.state -> int32 -> Hash.state
val hash_int32 : int32 -> Hash.hash_value
val int32_of_sexp : Sexp.t -> int32
val sexp_of_int32 : int32 -> Sexp.t
type int64
= Int64.t
val compare_int64 : int64 -> int64 -> int
val equal_int64 : int64 -> int64 -> bool
val hash_fold_int64 : Hash.state -> int64 -> Hash.state
val hash_int64 : int64 -> Hash.hash_value
val int64_of_sexp : Sexp.t -> int64
val sexp_of_int64 : int64 -> Sexp.t
type 'a list
= 'a List.t
val compare_list : a. ('a -> 'a -> int) -> 'a list -> 'a list -> int
val equal_list : a. ('a -> 'a -> bool) -> 'a list -> 'a list -> bool
val hash_fold_list : a. (Hash.state -> 'a -> Hash.state) -> Hash.state -> 'a list -> Hash.state
val list_of_sexp : a. (Sexp.t -> 'a) -> Sexp.t -> 'a list
val sexp_of_list : a. ('a -> Sexp.t) -> 'a list -> Sexp.t
type nativeint
= Nativeint.t
val compare_nativeint : nativeint -> nativeint -> int
val equal_nativeint : nativeint -> nativeint -> bool
val hash_fold_nativeint : Hash.state -> nativeint -> Hash.state
val hash_nativeint : nativeint -> Hash.hash_value
val nativeint_of_sexp : Sexp.t -> nativeint
val sexp_of_nativeint : nativeint -> Sexp.t
type 'a option
= 'a Option.t
val compare_option : a. ('a -> 'a -> int) -> 'a option -> 'a option -> int
val equal_option : a. ('a -> 'a -> bool) -> 'a option -> 'a option -> bool
val hash_fold_option : a. (Hash.state -> 'a -> Hash.state) -> Hash.state -> 'a option -> Hash.state
val option_of_sexp : a. (Sexp.t -> 'a) -> Sexp.t -> 'a option
val sexp_of_option : a. ('a -> Sexp.t) -> 'a option -> Sexp.t
type 'a ref
= 'a Ref.t
val compare_ref : a. ('a -> 'a -> int) -> 'a ref -> 'a ref -> int
val equal_ref : a. ('a -> 'a -> bool) -> 'a ref -> 'a ref -> bool
val ref_of_sexp : a. (Sexp.t -> 'a) -> Sexp.t -> 'a ref
val sexp_of_ref : a. ('a -> Sexp.t) -> 'a ref -> Sexp.t
type string
= String.t
val compare_string : string -> string -> int
val equal_string : string -> string -> bool
val hash_fold_string : Hash.state -> string -> Hash.state
val hash_string : string -> Hash.hash_value
val string_of_sexp : Sexp.t -> string
val sexp_of_string : string -> Sexp.t
type bytes
= Bytes.t
val compare_bytes : bytes -> bytes -> int
val equal_bytes : bytes -> bytes -> bool
val bytes_of_sexp : Sexp.t -> bytes
val sexp_of_bytes : bytes -> Sexp.t
type unit
= Unit.t
val compare_unit : unit -> unit -> int
val equal_unit : unit -> unit -> bool
val hash_fold_unit : Hash.state -> unit -> Hash.state
val hash_unit : unit -> Hash.hash_value
val unit_of_sexp : Sexp.t -> unit
val sexp_of_unit : unit -> Sexp.t
type nonrec ('a, 'b, 'c) format
= ('a, 'b, 'c) Stdlib.format
type nonrec ('a, 'b, 'c, 'd) format4
= ('a, 'b, 'c, 'd) Stdlib.format4
type nonrec ('a, 'b, 'c, 'd, 'e, 'f) format6
= ('a, 'b, 'c, 'd, 'e, 'f) Stdlib.format6
Sexp
Exporting the ad-hoc types that are recognized by ppx_sexp_*
converters. sexp_array
, sexp_list
, and sexp_option
allow a record field to be absent when converting from a sexp, and if absent, the field will take a default value of the appropriate type:
sexp_array [||] sexp_bool false sexp_list [] sexp_option None
sexp_opaque
causes the conversion to sexp to produce the atom <opaque>
.
For more documentation, see sexplib/README.md.
type 'a sexp_array
= 'a array
type 'a sexp_list
= 'a list
type 'a sexp_opaque
= 'a
type 'a sexp_option
= 'a option
include List.Infix
val (@) : 'a Base__List.t -> 'a Base__List.t -> 'a Base__List.t
include Base__.Import.Int_replace_polymorphic_compare
val (<) : int -> int -> bool
val (<=) : int -> int -> bool
val (<>) : int -> int -> bool
val (=) : int -> int -> bool
val (>) : int -> int -> bool
val (>=) : int -> int -> bool
val ascending : int -> int -> int
val descending : int -> int -> int
val compare : int -> int -> int
val equal : int -> int -> bool
val max : int -> int -> int
val min : int -> int -> int
include Float.O_dot
val (+.) : Base__Float.t -> Base__Float.t -> Base__Float.t
val (-.) : Base__Float.t -> Base__Float.t -> Base__Float.t
val (*.) : Base__Float.t -> Base__Float.t -> Base__Float.t
val (/.) : Base__Float.t -> Base__Float.t -> Base__Float.t
val (**.) : Base__Float.t -> Base__Float.t -> Base__Float.t
val (~-.) : Base__Float.t -> Base__Float.t
val (|>) : 'a -> ('a -> 'b) -> 'b
Reverse application operator.
x |> g |> f
is equivalent tof (g (x))
.
val (&&) : bool -> bool -> bool
val (||) : bool -> bool -> bool
val not : bool -> bool
val ignore : _ -> unit
val raise : exn -> _
val failwith : string -> 'a
val invalid_arg : string -> 'a
val raise_s : Sexp.t -> 'a
val force : 'a Lazy.t -> 'a
module Continue_or_stop = Base__.Container_intf.Export.Continue_or_stop
Continue_or_stop.t
is used by thef
argument tofold_until
in order to indicate whether folding should continue, or stop early.
exception
Not_found_s of Sexplib0.Sexp.t
module Not_exposed_properly = Base.Not_exposed_properly
include Ppxlib
module Afl_instrument = Do_not_use_directly
module Alias_analysis = Do_not_use_directly
module Allocated_const = Do_not_use_directly
module Annot = Do_not_use_directly
module Arch = Do_not_use_directly
module Arg_helper = Do_not_use_directly
module Asmgen = Do_not_use_directly
module Asmlibrarian = Do_not_use_directly
module Asmlink = Do_not_use_directly
module Asmpackager = Do_not_use_directly
module Ast_invariants = Do_not_use_directly
module Ast_iterator = Do_not_use_directly
module Ast_mapper = Do_not_use_directly
module Attr_helper = Do_not_use_directly
module Augment_specialised_args = Do_not_use_directly
module Backend_intf = Do_not_use_directly
module Branch_relaxation = Do_not_use_directly
module Branch_relaxation_intf = Do_not_use_directly
module Btype = Do_not_use_directly
module Build_export_info = Do_not_use_directly
module Build_path_prefix_map = Do_not_use_directly
module Builtin_attributes = Do_not_use_directly
module Bytegen = Do_not_use_directly
module Bytelibrarian = Do_not_use_directly
module Bytelink = Do_not_use_directly
module Bytepackager = Do_not_use_directly
module Bytesections = Do_not_use_directly
module CSE = Do_not_use_directly
module CSEgen = Do_not_use_directly
module Ccomp = Do_not_use_directly
module Clambda = Do_not_use_directly
module Clflags = Do_not_use_directly
module Closure = Do_not_use_directly
module Closure_conversion = Do_not_use_directly
module Closure_conversion_aux = Do_not_use_directly
module Closure_element = Do_not_use_directly
module Closure_id = Do_not_use_directly
module Closure_offsets = Do_not_use_directly
module Closure_origin = Do_not_use_directly
module Cmi_format = Do_not_use_directly
module Cmm = Do_not_use_directly
module Cmmgen = Do_not_use_directly
module Cmo_format = Do_not_use_directly
module Cmt_format = Do_not_use_directly
module Cmx_format = Do_not_use_directly
module Coloring = Do_not_use_directly
module Comballoc = Do_not_use_directly
module Compdynlink = Do_not_use_directly
module Compenv = Do_not_use_directly
module Compilation_unit = Do_not_use_directly
module Compile = Do_not_use_directly
module Compilenv = Do_not_use_directly
module Compmisc = Do_not_use_directly
module Compplugin = Do_not_use_directly
module Config = Do_not_use_directly
module Consistbl = Do_not_use_directly
module Ctype = Do_not_use_directly
module Datarepr = Do_not_use_directly
module Deadcode = Do_not_use_directly
module Debuginfo = Do_not_use_directly
module Depend = Do_not_use_directly
module Dll = Do_not_use_directly
module Effect_analysis = Do_not_use_directly
module Emit = Do_not_use_directly
module Emitaux = Do_not_use_directly
module Emitcode = Do_not_use_directly
module Env = Do_not_use_directly
module Envaux = Do_not_use_directly
module Errors = Do_not_use_directly
module Export_id = Do_not_use_directly
module Export_info = Do_not_use_directly
module Export_info_for_pack = Do_not_use_directly
module Expunge = Do_not_use_directly
module Extract_projections = Do_not_use_directly
module Find_recursive_functions = Do_not_use_directly
module Flambda = Do_not_use_directly
module Flambda_invariants = Do_not_use_directly
module Flambda_iterators = Do_not_use_directly
module Flambda_to_clambda = Do_not_use_directly
module Flambda_utils = Do_not_use_directly
module Freshening = Do_not_use_directly
module Genprintval = Do_not_use_directly
module Id_types = Do_not_use_directly
module Ident = Do_not_use_directly
module Import_approx = Do_not_use_directly
module Includeclass = Do_not_use_directly
module Includecore = Do_not_use_directly
module Includemod = Do_not_use_directly
module Inconstant_idents = Do_not_use_directly
module Initialize_symbol_to_let_symbol = Do_not_use_directly
module Inline_and_simplify = Do_not_use_directly
module Inline_and_simplify_aux = Do_not_use_directly
module Inlining_cost = Do_not_use_directly
module Inlining_decision = Do_not_use_directly
module Inlining_decision_intf = Do_not_use_directly
module Inlining_stats = Do_not_use_directly
module Inlining_stats_types = Do_not_use_directly
module Inlining_transforms = Do_not_use_directly
module Instruct = Do_not_use_directly
module Interf = Do_not_use_directly
module Internal_variable_names = Do_not_use_directly
module Interval = Do_not_use_directly
module Invariant_params = Do_not_use_directly
module Lambda = Do_not_use_directly
module Lift_code = Do_not_use_directly
module Lift_constants = Do_not_use_directly
module Lift_let_to_initialize_symbol = Do_not_use_directly
module Linearize = Do_not_use_directly
module Linkage_name = Do_not_use_directly
module Linscan = Do_not_use_directly
module Liveness = Do_not_use_directly
module Mach = Do_not_use_directly
module Main = Do_not_use_directly
module Main_args = Do_not_use_directly
module Makedepend = Do_not_use_directly
module Matching = Do_not_use_directly
module Meta = Do_not_use_directly
module Middle_end = Do_not_use_directly
module Misc = Do_not_use_directly
module Mtype = Do_not_use_directly
module Mutable_variable = Do_not_use_directly
module Numbers = Do_not_use_directly
module Opcodes = Do_not_use_directly
module Oprint = Do_not_use_directly
module Optcompile = Do_not_use_directly
module Opterrors = Do_not_use_directly
module Optmain = Do_not_use_directly
module Outcometree = Do_not_use_directly
module Parameter = Do_not_use_directly
module Parmatch = Do_not_use_directly
module Pass_wrapper = Do_not_use_directly
module Path = Do_not_use_directly
module Pparse = Do_not_use_directly
module Predef = Do_not_use_directly
module Primitive = Do_not_use_directly
module Printast = Do_not_use_directly
module Printclambda = Do_not_use_directly
module Printcmm = Do_not_use_directly
module Printinstr = Do_not_use_directly
module Printlambda = Do_not_use_directly
module Printlinear = Do_not_use_directly
module Printmach = Do_not_use_directly
module Printpat = Do_not_use_directly
module Printtyp = Do_not_use_directly
module Printtyped = Do_not_use_directly
module Proc = Do_not_use_directly
module Profile = Do_not_use_directly
module Projection = Do_not_use_directly
module Ref_to_variables = Do_not_use_directly
module Reg = Do_not_use_directly
module Reload = Do_not_use_directly
module Reloadgen = Do_not_use_directly
module Remove_free_vars_equal_to_args = Do_not_use_directly
module Remove_unused_arguments = Do_not_use_directly
module Remove_unused_closure_vars = Do_not_use_directly
module Remove_unused_program_constructs = Do_not_use_directly
module Runtimedef = Do_not_use_directly
module Schedgen = Do_not_use_directly
module Scheduling = Do_not_use_directly
module Selectgen = Do_not_use_directly
module Selection = Do_not_use_directly
module Semantics_of_primitives = Do_not_use_directly
module Set_of_closures_id = Do_not_use_directly
module Set_of_closures_origin = Do_not_use_directly
module Simple_value_approx = Do_not_use_directly
module Simplif = Do_not_use_directly
module Simplify_boxed_integer_ops = Do_not_use_directly
module Simplify_boxed_integer_ops_intf = Do_not_use_directly
module Simplify_common = Do_not_use_directly
module Simplify_primitives = Do_not_use_directly
module Spacetime_profiling = Do_not_use_directly
module Spill = Do_not_use_directly
module Split = Do_not_use_directly
module Static_exception = Do_not_use_directly
module Strmatch = Do_not_use_directly
module Strongly_connected_components = Do_not_use_directly
module Stypes = Do_not_use_directly
module Subst = Do_not_use_directly
module Switch = Do_not_use_directly
module Symbol = Do_not_use_directly
module Symtable = Do_not_use_directly
module Tag = Do_not_use_directly
module Targetint = Do_not_use_directly
module Tast_mapper = Do_not_use_directly
module Tbl = Do_not_use_directly
module Terminfo = Do_not_use_directly
module Topdirs = Do_not_use_directly
module Toploop = Do_not_use_directly
module Topmain = Do_not_use_directly
module Topstart = Do_not_use_directly
module Trace = Do_not_use_directly
module Translattribute = Do_not_use_directly
module Translclass = Do_not_use_directly
module Translcore = Do_not_use_directly
module Translmod = Do_not_use_directly
module Translobj = Do_not_use_directly
module Translprim = Do_not_use_directly
module Traverse_for_exported_symbols = Do_not_use_directly
module Typeclass = Do_not_use_directly
module Typecore = Do_not_use_directly
module Typedecl = Do_not_use_directly
module Typedtree = Do_not_use_directly
module TypedtreeIter = Do_not_use_directly
module TypedtreeMap = Do_not_use_directly
module Typemod = Do_not_use_directly
module Typeopt = Do_not_use_directly
module Types = Do_not_use_directly
module Typetexp = Do_not_use_directly
module Un_anf = Do_not_use_directly
module Unbox_closures = Do_not_use_directly
module Unbox_free_vars_of_closures = Do_not_use_directly
module Unbox_specialised_args = Do_not_use_directly
module Untypeast = Do_not_use_directly
module Var_within_closure = Do_not_use_directly
module Variable = Do_not_use_directly
module Warnings = Do_not_use_directly
module X86_ast = Do_not_use_directly
module X86_dsl = Do_not_use_directly
module X86_gas = Do_not_use_directly
module X86_masm = Do_not_use_directly
module X86_proc = Do_not_use_directly
type position
= Stdlib.Lexing.position
=
{
pos_fname : string;
pos_lnum : int;
pos_bol : int;
pos_cnum : int;
}
and location
= Ppxlib_ast__.Import.Location.t
=
{
loc_start : position;
loc_end : position;
loc_ghost : bool;
}
and 'a loc
= 'a Ppxlib_ast__.Import.Location.loc
=
{
txt : 'a;
loc : location;
}
and longident
= Ppxlib_ast__.Import.Longident.t
=
|
Lident of string
|
Ldot of longident * string
|
Lapply of longident * longident
and longident_loc
= longident loc
and rec_flag
= Ppxlib_ast__.Import.Asttypes.rec_flag
=
|
Nonrecursive
|
Recursive
and direction_flag
= Ppxlib_ast__.Import.Asttypes.direction_flag
=
|
Upto
|
Downto
and private_flag
= Ppxlib_ast__.Import.Asttypes.private_flag
=
|
Private
|
Public
and mutable_flag
= Ppxlib_ast__.Import.Asttypes.mutable_flag
=
|
Immutable
|
Mutable
and virtual_flag
= Ppxlib_ast__.Import.Asttypes.virtual_flag
=
|
Virtual
|
Concrete
and override_flag
= Ppxlib_ast__.Import.Asttypes.override_flag
=
|
Override
|
Fresh
and closed_flag
= Ppxlib_ast__.Import.Asttypes.closed_flag
=
|
Closed
|
Open
and label
= string
and arg_label
= Ppxlib_ast__.Import.Asttypes.arg_label
=
|
Nolabel
|
Labelled of string
|
Optional of string
and variance
= Ppxlib_ast__.Import.Asttypes.variance
=
|
Covariant
|
Contravariant
|
Invariant
and constant
= Ppxlib_ast__.Import.Parsetree.constant
=
|
Pconst_integer of string * char option
|
Pconst_char of char
|
Pconst_string of string * string option
|
Pconst_float of string * char option
and attribute
= string loc * payload
and extension
= string loc * payload
and attributes
= attribute list
and payload
= Ppxlib_ast__.Import.Parsetree.payload
=
|
PStr of structure
|
PSig of signature
|
PTyp of core_type
|
PPat of pattern * expression option
and core_type
= Ppxlib_ast__.Import.Parsetree.core_type
=
{
ptyp_desc : core_type_desc;
ptyp_loc : location;
ptyp_attributes : attributes;
}
and core_type_desc
= Ppxlib_ast__.Import.Parsetree.core_type_desc
=
|
Ptyp_any
|
Ptyp_var of string
|
Ptyp_arrow of arg_label * core_type * core_type
|
Ptyp_tuple of core_type list
|
Ptyp_constr of longident_loc * core_type list
|
Ptyp_object of object_field list * closed_flag
|
Ptyp_class of longident_loc * core_type list
|
Ptyp_alias of core_type * string
|
Ptyp_variant of row_field list * closed_flag * label list option
|
Ptyp_poly of string loc list * core_type
|
Ptyp_package of package_type
|
Ptyp_extension of extension
and package_type
= longident_loc * (longident_loc * core_type) list
and row_field
= Ppxlib_ast__.Import.Parsetree.row_field
=
|
Rtag of label loc * attributes * bool * core_type list
|
Rinherit of core_type
and object_field
= Ppxlib_ast__.Import.Parsetree.object_field
=
|
Otag of label loc * attributes * core_type
|
Oinherit of core_type
and pattern
= Ppxlib_ast__.Import.Parsetree.pattern
=
{
ppat_desc : pattern_desc;
ppat_loc : location;
ppat_attributes : attributes;
}
and pattern_desc
= Ppxlib_ast__.Import.Parsetree.pattern_desc
=
|
Ppat_any
|
Ppat_var of string loc
|
Ppat_alias of pattern * string loc
|
Ppat_constant of constant
|
Ppat_interval of constant * constant
|
Ppat_tuple of pattern list
|
Ppat_construct of longident_loc * pattern option
|
Ppat_variant of label * pattern option
|
Ppat_record of (longident_loc * pattern) list * closed_flag
|
Ppat_array of pattern list
|
Ppat_or of pattern * pattern
|
Ppat_constraint of pattern * core_type
|
Ppat_type of longident_loc
|
Ppat_lazy of pattern
|
Ppat_unpack of string loc
|
Ppat_exception of pattern
|
Ppat_extension of extension
|
Ppat_open of longident_loc * pattern
and expression
= Ppxlib_ast__.Import.Parsetree.expression
=
{
pexp_desc : expression_desc;
pexp_loc : location;
pexp_attributes : attributes;
}
and expression_desc
= Ppxlib_ast__.Import.Parsetree.expression_desc
=
|
Pexp_ident of longident_loc
|
Pexp_constant of constant
|
Pexp_let of rec_flag * value_binding list * expression
|
Pexp_function of case list
|
Pexp_fun of arg_label * expression option * pattern * expression
|
Pexp_apply of expression * (arg_label * expression) list
|
Pexp_match of expression * case list
|
Pexp_try of expression * case list
|
Pexp_tuple of expression list
|
Pexp_construct of longident_loc * expression option
|
Pexp_variant of label * expression option
|
Pexp_record of (longident_loc * expression) list * expression option
|
Pexp_field of expression * longident_loc
|
Pexp_setfield of expression * longident_loc * expression
|
Pexp_array of expression list
|
Pexp_ifthenelse of expression * expression * expression option
|
Pexp_sequence of expression * expression
|
Pexp_while of expression * expression
|
Pexp_for of pattern * expression * expression * direction_flag * expression
|
Pexp_constraint of expression * core_type
|
Pexp_coerce of expression * core_type option * core_type
|
Pexp_send of expression * label loc
|
Pexp_new of longident_loc
|
Pexp_setinstvar of label loc * expression
|
Pexp_override of (label loc * expression) list
|
Pexp_letmodule of string loc * module_expr * expression
|
Pexp_letexception of extension_constructor * expression
|
Pexp_assert of expression
|
Pexp_lazy of expression
|
Pexp_poly of expression * core_type option
|
Pexp_object of class_structure
|
Pexp_newtype of string loc * expression
|
Pexp_pack of module_expr
|
Pexp_open of override_flag * longident_loc * expression
|
Pexp_extension of extension
|
Pexp_unreachable
and case
= Ppxlib_ast__.Import.Parsetree.case
=
{
pc_lhs : pattern;
pc_guard : expression option;
pc_rhs : expression;
}
and value_description
= Ppxlib_ast__.Import.Parsetree.value_description
=
{
pval_name : string loc;
pval_type : core_type;
pval_prim : string list;
pval_attributes : attributes;
pval_loc : location;
}
and type_declaration
= Ppxlib_ast__.Import.Parsetree.type_declaration
=
{
ptype_name : string loc;
ptype_params : (core_type * variance) list;
ptype_cstrs : (core_type * core_type * location) list;
ptype_kind : type_kind;
ptype_private : private_flag;
ptype_manifest : core_type option;
ptype_attributes : attributes;
ptype_loc : location;
}
and type_kind
= Ppxlib_ast__.Import.Parsetree.type_kind
=
|
Ptype_abstract
|
Ptype_variant of constructor_declaration list
|
Ptype_record of label_declaration list
|
Ptype_open
and label_declaration
= Ppxlib_ast__.Import.Parsetree.label_declaration
=
{
pld_name : string loc;
pld_mutable : mutable_flag;
pld_type : core_type;
pld_loc : location;
pld_attributes : attributes;
}
and constructor_declaration
= Ppxlib_ast__.Import.Parsetree.constructor_declaration
=
{
pcd_name : string loc;
pcd_args : constructor_arguments;
pcd_res : core_type option;
pcd_loc : location;
pcd_attributes : attributes;
}
and constructor_arguments
= Ppxlib_ast__.Import.Parsetree.constructor_arguments
=
|
Pcstr_tuple of core_type list
|
Pcstr_record of label_declaration list
and type_extension
= Ppxlib_ast__.Import.Parsetree.type_extension
=
{
ptyext_path : longident_loc;
ptyext_params : (core_type * variance) list;
ptyext_constructors : extension_constructor list;
ptyext_private : private_flag;
ptyext_attributes : attributes;
}
and extension_constructor
= Ppxlib_ast__.Import.Parsetree.extension_constructor
=
{
pext_name : string loc;
pext_kind : extension_constructor_kind;
pext_loc : location;
pext_attributes : attributes;
}
and extension_constructor_kind
= Ppxlib_ast__.Import.Parsetree.extension_constructor_kind
=
|
Pext_decl of constructor_arguments * core_type option
|
Pext_rebind of longident_loc
and class_type
= Ppxlib_ast__.Import.Parsetree.class_type
=
{
pcty_desc : class_type_desc;
pcty_loc : location;
pcty_attributes : attributes;
}
and class_type_desc
= Ppxlib_ast__.Import.Parsetree.class_type_desc
=
|
Pcty_constr of longident_loc * core_type list
|
Pcty_signature of class_signature
|
Pcty_arrow of arg_label * core_type * class_type
|
Pcty_extension of extension
|
Pcty_open of override_flag * longident_loc * class_type
and class_signature
= Ppxlib_ast__.Import.Parsetree.class_signature
=
{
pcsig_self : core_type;
pcsig_fields : class_type_field list;
}
and class_type_field
= Ppxlib_ast__.Import.Parsetree.class_type_field
=
{
pctf_desc : class_type_field_desc;
pctf_loc : location;
pctf_attributes : attributes;
}
and class_type_field_desc
= Ppxlib_ast__.Import.Parsetree.class_type_field_desc
=
|
Pctf_inherit of class_type
|
Pctf_val of label loc * mutable_flag * virtual_flag * core_type
|
Pctf_method of label loc * private_flag * virtual_flag * core_type
|
Pctf_constraint of core_type * core_type
|
Pctf_attribute of attribute
|
Pctf_extension of extension
and 'a class_infos
= 'a Ppxlib_ast__.Import.Parsetree.class_infos
=
{
pci_virt : virtual_flag;
pci_params : (core_type * variance) list;
pci_name : string loc;
pci_expr : 'a;
pci_loc : location;
pci_attributes : attributes;
}
and class_description
= class_type class_infos
and class_type_declaration
= class_type class_infos
and class_expr
= Ppxlib_ast__.Import.Parsetree.class_expr
=
{
pcl_desc : class_expr_desc;
pcl_loc : location;
pcl_attributes : attributes;
}
and class_expr_desc
= Ppxlib_ast__.Import.Parsetree.class_expr_desc
=
|
Pcl_constr of longident_loc * core_type list
|
Pcl_structure of class_structure
|
Pcl_fun of arg_label * expression option * pattern * class_expr
|
Pcl_apply of class_expr * (arg_label * expression) list
|
Pcl_let of rec_flag * value_binding list * class_expr
|
Pcl_constraint of class_expr * class_type
|
Pcl_extension of extension
|
Pcl_open of override_flag * longident_loc * class_expr
and class_structure
= Ppxlib_ast__.Import.Parsetree.class_structure
=
{
pcstr_self : pattern;
pcstr_fields : class_field list;
}
and class_field
= Ppxlib_ast__.Import.Parsetree.class_field
=
{
pcf_desc : class_field_desc;
pcf_loc : location;
pcf_attributes : attributes;
}
and class_field_desc
= Ppxlib_ast__.Import.Parsetree.class_field_desc
=
|
Pcf_inherit of override_flag * class_expr * string loc option
|
Pcf_val of label loc * mutable_flag * class_field_kind
|
Pcf_method of label loc * private_flag * class_field_kind
|
Pcf_constraint of core_type * core_type
|
Pcf_initializer of expression
|
Pcf_attribute of attribute
|
Pcf_extension of extension
and class_field_kind
= Ppxlib_ast__.Import.Parsetree.class_field_kind
=
|
Cfk_virtual of core_type
|
Cfk_concrete of override_flag * expression
and class_declaration
= class_expr class_infos
and module_type
= Ppxlib_ast__.Import.Parsetree.module_type
=
{
pmty_desc : module_type_desc;
pmty_loc : location;
pmty_attributes : attributes;
}
and module_type_desc
= Ppxlib_ast__.Import.Parsetree.module_type_desc
=
|
Pmty_ident of longident_loc
|
Pmty_signature of signature
|
Pmty_functor of string loc * module_type option * module_type
|
Pmty_with of module_type * with_constraint list
|
Pmty_typeof of module_expr
|
Pmty_extension of extension
|
Pmty_alias of longident_loc
and signature
= signature_item list
and signature_item
= Ppxlib_ast__.Import.Parsetree.signature_item
=
{
psig_desc : signature_item_desc;
psig_loc : location;
}
and signature_item_desc
= Ppxlib_ast__.Import.Parsetree.signature_item_desc
=
|
Psig_value of value_description
|
Psig_type of rec_flag * type_declaration list
|
Psig_typext of type_extension
|
Psig_exception of extension_constructor
|
Psig_module of module_declaration
|
Psig_recmodule of module_declaration list
|
Psig_modtype of module_type_declaration
|
Psig_open of open_description
|
Psig_include of include_description
|
Psig_class of class_description list
|
Psig_class_type of class_type_declaration list
|
Psig_attribute of attribute
|
Psig_extension of extension * attributes
and module_declaration
= Ppxlib_ast__.Import.Parsetree.module_declaration
=
{
pmd_name : string loc;
pmd_type : module_type;
pmd_attributes : attributes;
pmd_loc : location;
}
and module_type_declaration
= Ppxlib_ast__.Import.Parsetree.module_type_declaration
=
{
pmtd_name : string loc;
pmtd_type : module_type option;
pmtd_attributes : attributes;
pmtd_loc : location;
}
and open_description
= Ppxlib_ast__.Import.Parsetree.open_description
=
{
popen_lid : longident_loc;
popen_override : override_flag;
popen_loc : location;
popen_attributes : attributes;
}
and 'a include_infos
= 'a Ppxlib_ast__.Import.Parsetree.include_infos
=
{
pincl_mod : 'a;
pincl_loc : location;
pincl_attributes : attributes;
}
and include_description
= module_type include_infos
and include_declaration
= module_expr include_infos
and with_constraint
= Ppxlib_ast__.Import.Parsetree.with_constraint
=
|
Pwith_type of longident_loc * type_declaration
|
Pwith_module of longident_loc * longident_loc
|
Pwith_typesubst of longident_loc * type_declaration
|
Pwith_modsubst of longident_loc * longident_loc
and module_expr
= Ppxlib_ast__.Import.Parsetree.module_expr
=
{
pmod_desc : module_expr_desc;
pmod_loc : location;
pmod_attributes : attributes;
}
and module_expr_desc
= Ppxlib_ast__.Import.Parsetree.module_expr_desc
=
|
Pmod_ident of longident_loc
|
Pmod_structure of structure
|
Pmod_functor of string loc * module_type option * module_expr
|
Pmod_apply of module_expr * module_expr
|
Pmod_constraint of module_expr * module_type
|
Pmod_unpack of expression
|
Pmod_extension of extension
and structure
= structure_item list
and structure_item
= Ppxlib_ast__.Import.Parsetree.structure_item
=
{
pstr_desc : structure_item_desc;
pstr_loc : location;
}
and structure_item_desc
= Ppxlib_ast__.Import.Parsetree.structure_item_desc
=
|
Pstr_eval of expression * attributes
|
Pstr_value of rec_flag * value_binding list
|
Pstr_primitive of value_description
|
Pstr_type of rec_flag * type_declaration list
|
Pstr_typext of type_extension
|
Pstr_exception of extension_constructor
|
Pstr_module of module_binding
|
Pstr_recmodule of module_binding list
|
Pstr_modtype of module_type_declaration
|
Pstr_open of open_description
|
Pstr_class of class_declaration list
|
Pstr_class_type of class_type_declaration list
|
Pstr_include of include_declaration
|
Pstr_attribute of attribute
|
Pstr_extension of extension * attributes
and value_binding
= Ppxlib_ast__.Import.Parsetree.value_binding
=
{
pvb_pat : pattern;
pvb_expr : expression;
pvb_attributes : attributes;
pvb_loc : location;
}
and module_binding
= Ppxlib_ast__.Import.Parsetree.module_binding
=
{
pmb_name : string loc;
pmb_expr : module_expr;
pmb_attributes : attributes;
pmb_loc : location;
}
and toplevel_phrase
= Ppxlib_ast__.Import.Parsetree.toplevel_phrase
=
|
Ptop_def of structure
|
Ptop_dir of string * directive_argument
and directive_argument
= Ppxlib_ast__.Import.Parsetree.directive_argument
=
|
Pdir_none
|
Pdir_string of string
|
Pdir_int of string * char option
|
Pdir_ident of longident
|
Pdir_bool of bool
class virtual map : object ... end
class virtual iter : object ... end
class virtual 'accfold : object ... end
class virtual 'accfold_map : object ... end
class virtual 'ctxmap_with_context : object ... end
class virtual 'reslift : object ... end
val lident : Ppxlib__.Import.string -> Ppxlib__.Longident.t
val core_type_of_type_declaration : Ppxlib__.Import.type_declaration -> Ppxlib__.Import.core_type
val name_type_params_in_td : Ppxlib__.Import.type_declaration -> Ppxlib__.Import.type_declaration
val combinator_type_of_type_declaration : Ppxlib__.Import.type_declaration -> f:(loc:Ppxlib__.Location.t -> Ppxlib__.Import.core_type -> Ppxlib__.Import.core_type) -> Ppxlib__.Import.core_type
val gen_symbol : ?prefix:Ppxlib__.Import.string -> Ppxlib__.Import.unit -> Ppxlib__.Import.string
val string_of_core_type : Ppxlib__.Import.core_type -> Ppxlib__.Import.string
val assert_no_attributes : Ppxlib__.Import.attributes -> Ppxlib__.Import.unit
val assert_no_attributes_in : Ppxlib__.Ast_traverse.iter
val get_type_param_name : (Ppxlib__.Import.core_type * Ppxlib__.Import.variance) -> Ppxlib__.Import.string Ppxlib__.Loc.t
class type_is_recursive : Ppxlib__.Import.rec_flag -> Ppxlib__.Import.type_declaration Ppxlib__.Import.list -> object ... end
val really_recursive : Ppxlib__.Import.rec_flag -> Ppxlib__.Import.type_declaration Ppxlib__.Import.list -> Ppxlib__.Import.rec_flag
val loc_of_payload : Ppxlib__.Import.attribute -> Ppxlib__.Location.t
val loc_of_attribute : Ppxlib__.Import.attribute -> Ppxlib__.Location.t
val curry_applications : Ppxlib__.Import.expression -> Ppxlib__.Import.expression
val attribute_of_warning : Ppxlib__.Location.t -> Ppxlib__.Import.string -> Ppxlib__.Import.attribute
val is_polymorphic_variant : Ppxlib__.Import.type_declaration -> sig_:Ppxlib__.Import.bool -> [> `Definitely | `Maybe | `Surely_not ]
val mk_named_sig : loc:Ppxlib__.Location.t -> sg_name:Ppxlib__.Import.string -> handle_polymorphic_variant:Ppxlib__.Import.bool -> Ppxlib__.Import.type_declaration Ppxlib__.Import.list -> Ppxlib__.Import.include_description Ppxlib__.Import.option
include Ast_builder.Default
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 pcl_open : loc:Ppxlib__.Import.location -> Ppxlib__.Import.override_flag -> Ppxlib__.Import.longident_loc -> Ppxlib__.Import.class_expr -> 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 -> (Ppxlib__.Import.label Ppxlib__.Import.loc * Ppxlib__.Import.mutable_flag * Ppxlib__.Import.class_field_kind) -> Ppxlib__.Import.class_field
val pcf_method : loc:Ppxlib__.Import.location -> (Ppxlib__.Import.label 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 pcty_open : loc:Ppxlib__.Import.location -> Ppxlib__.Import.override_flag -> Ppxlib__.Import.longident_loc -> Ppxlib__.Import.class_type -> 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 -> (Ppxlib__.Import.label 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 -> (Ppxlib__.Import.label 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 -> Ppxlib__.Import.object_field 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_for : loc:Ppxlib__.Import.location -> Ppxlib__.Import.pattern -> Ppxlib__.Import.expression -> Ppxlib__.Import.expression -> Ppxlib__.Import.direction_flag -> 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 -> Ppxlib__.Import.label 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 -> Ppxlib__.Import.label Ppxlib__.Import.loc -> Ppxlib__.Import.expression -> Ppxlib__.Import.expression
val pexp_override : loc:Ppxlib__.Import.location -> (Ppxlib__.Import.label 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
val eint : (Ppxlib__.Import.int -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val echar : (Ppxlib__.Import.char -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val estring : (Ppxlib__.Import.string -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val efloat : (Ppxlib__.Import.string -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val eint32 : (Ppxlib__.Import.int32 -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val eint64 : (Ppxlib__.Import.int64 -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val enativeint : (Ppxlib__.Import.nativeint -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val ebool : (Ppxlib__.Import.bool -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val pint : (Ppxlib__.Import.int -> Ppxlib__.Import.pattern) Ppxlib__.Ast_builder_intf.with_location
val pchar : (Ppxlib__.Import.char -> Ppxlib__.Import.pattern) Ppxlib__.Ast_builder_intf.with_location
val pstring : (Ppxlib__.Import.string -> Ppxlib__.Import.pattern) Ppxlib__.Ast_builder_intf.with_location
val pfloat : (Ppxlib__.Import.string -> Ppxlib__.Import.pattern) Ppxlib__.Ast_builder_intf.with_location
val pint32 : (Ppxlib__.Import.int32 -> Ppxlib__.Import.pattern) Ppxlib__.Ast_builder_intf.with_location
val pint64 : (Ppxlib__.Import.int64 -> Ppxlib__.Import.pattern) Ppxlib__.Ast_builder_intf.with_location
val pnativeint : (Ppxlib__.Import.nativeint -> Ppxlib__.Import.pattern) Ppxlib__.Ast_builder_intf.with_location
val pbool : (Ppxlib__.Import.bool -> Ppxlib__.Import.pattern) Ppxlib__.Ast_builder_intf.with_location
val eunit : Ppxlib__.Import.expression Ppxlib__.Ast_builder_intf.with_location
val punit : Ppxlib__.Import.pattern Ppxlib__.Ast_builder_intf.with_location
val evar : (Ppxlib__.Import.string -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val pvar : (Ppxlib__.Import.string -> Ppxlib__.Import.pattern) Ppxlib__.Ast_builder_intf.with_location
val eapply : (Ppxlib__.Import.expression -> Ppxlib__.Import.expression Ppxlib__.Import.list -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val eabstract : (Ppxlib__.Import.pattern Ppxlib__.Import.list -> Ppxlib__.Import.expression -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val esequence : (Ppxlib__.Import.expression Ppxlib__.Import.list -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val ppat_tuple_opt : (Ppxlib__.Import.pattern Ppxlib__.Import.list -> Ppxlib__.Import.pattern Ppxlib__.Import.option) Ppxlib__.Ast_builder_intf.with_location
val pexp_tuple_opt : (Ppxlib__.Import.expression Ppxlib__.Import.list -> Ppxlib__.Import.expression Ppxlib__.Import.option) Ppxlib__.Ast_builder_intf.with_location
val pconstruct : Ppxlib__.Import.constructor_declaration -> Ppxlib__.Import.pattern Ppxlib__.Import.option -> Ppxlib__.Import.pattern
val econstruct : Ppxlib__.Import.constructor_declaration -> Ppxlib__.Import.expression Ppxlib__.Import.option -> Ppxlib__.Import.expression
val elist : (Ppxlib__.Import.expression Ppxlib__.Import.list -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val plist : (Ppxlib__.Import.pattern Ppxlib__.Import.list -> Ppxlib__.Import.pattern) Ppxlib__.Ast_builder_intf.with_location
val pstr_value_list : loc:Ppxlib__.Location.t -> Ppxlib__.Import.Asttypes.rec_flag -> Ppxlib__.Import.value_binding Ppxlib__.Import.list -> Ppxlib__.Import.structure_item Ppxlib__.Import.list
val nonrec_type_declaration : (name:Ppxlib__.Import.string Ppxlib__.Loc.t -> params:(Ppxlib__.Import.core_type * Ppxlib__.Import.Asttypes.variance) Ppxlib__.Import.list -> cstrs:(Ppxlib__.Import.core_type * Ppxlib__.Import.core_type * Ppxlib__.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) Ppxlib__.Ast_builder_intf.with_location
val unapplied_type_constr_conv : (Ppxlib__.Longident.t Ppxlib__.Loc.t -> f:(Ppxlib__.Import.string -> Ppxlib__.Import.string) -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val type_constr_conv : (Ppxlib__.Longident.t Ppxlib__.Loc.t -> f:(Ppxlib__.Import.string -> Ppxlib__.Import.string) -> Ppxlib__.Import.expression Ppxlib__.Import.list -> Ppxlib__.Import.expression) Ppxlib__.Ast_builder_intf.with_location
val eta_reduce : Ppxlib__.Import.expression -> Ppxlib__.Import.expression Ppxlib__.Import.option
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
val (^^) : ('a, 'b, 'c, 'd, 'e, 'f) Caml.format6 -> ('f, 'b, 'c, 'e, 'g, 'h) Caml.format6 -> ('a, 'b, 'c, 'd, 'g, 'h) Caml.format6
val error : loc:Location.t -> ('a, Caml.Format.formatter, Ppxlib__.Import.unit, Ppxlib__.Import.unit, Ppxlib__.Import.unit, 'b) Caml.format6 -> 'a
val invalid : loc:Location.t -> ('a, Caml.Format.formatter, Ppxlib__.Import.unit, Ppxlib__.Import.unit, Ppxlib__.Import.unit, 'b) Caml.format6 -> 'a
val unsupported : loc:Location.t -> ('a, Caml.Format.formatter, Ppxlib__.Import.unit, Ppxlib__.Import.unit, Ppxlib__.Import.unit, 'b) Caml.format6 -> 'a
val internal_error : loc:Location.t -> ('a, Caml.Format.formatter, Ppxlib__.Import.unit, Ppxlib__.Import.unit, Ppxlib__.Import.unit, 'b) Caml.format6 -> 'a
val short_string_of_core_type : core_type -> string
val loc_map : 'a loc -> f:('a -> 'b) -> 'b loc
val lident_loc : Ppxlib__.Import.string loc -> Ppxlib__.Longident.t loc
val prefixed_type_name : String.t -> String.t -> String.t
val generator_name : String.t -> String.t
val observer_name : String.t -> String.t
val shrinker_name : String.t -> String.t
val pname : 'a loc -> f:('a -> Ppxlib__.Import.string) -> Ppxlib__.Import.pattern
val ename : 'a loc -> f:('a -> Ppxlib__.Import.string) -> Ppxlib__.Import.expression
val pgenerator : String.t loc -> Ppxlib__.Import.pattern
val pobserver : String.t loc -> Ppxlib__.Import.pattern
val pshrinker : String.t loc -> Ppxlib__.Import.pattern
val egenerator : String.t loc -> Ppxlib__.Import.expression
val eobserver : String.t loc -> Ppxlib__.Import.expression
val eshrinker : String.t loc -> Ppxlib__.Import.expression
val ptuple : loc:location -> Ppxlib__.Import.pattern list -> pattern
val gensym : String.t -> Ppxlib__.Location.t -> Ppxlib__.Import.pattern * Ppxlib__.Import.expression
val gensyms : String.t -> Ppxlib__.Location.t List.t -> Ppxlib__.Import.pattern List.t * Ppxlib__.Import.expression List.t
val gensymss : String.t -> Ppxlib__.Location.t List.t List.t -> Ppxlib__.Import.pattern List.t List.t * Ppxlib__.Import.expression List.t List.t
val fn_map_label : loc:Ppxlib__.Location.t -> from:Ppxlib__.Import.arg_label -> to_:Ppxlib__.Import.arg_label -> Ppxlib__.Import.expression