Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
This library is deprecated, use Ppxlib instead
Ppx_core is our stdlib for the ppx code so we just include Base here
module Base = Base
module Stdio = Stdio
include module type of struct include Base end
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 Int_conversions = Base.Int_conversions
module Int32 = Base.Int32
module Int63 = Base.Int63
module Int64 = Base.Int64
module Intable = Base.Intable
module Int_math = Base.Int_math
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 = Base.Polymorphic_compare
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 module type of struct include Export end
type 'a array = 'a Base.Array.t
val array_of_sexp : 'a. (Base.Sexp.t -> 'a) -> Base.Sexp.t -> 'a array
val sexp_of_array : 'a. ('a -> Base.Sexp.t) -> 'a array -> Base.Sexp.t
type bool = Base.Bool.t
val hash_fold_bool : Base.Hash.state -> bool -> Base.Hash.state
val hash_bool : bool -> Base.Hash.hash_value
val bool_of_sexp : Base.Sexp.t -> bool
val sexp_of_bool : bool -> Base.Sexp.t
type char = Base.Char.t
val hash_fold_char : Base.Hash.state -> char -> Base.Hash.state
val hash_char : char -> Base.Hash.hash_value
val char_of_sexp : Base.Sexp.t -> char
val sexp_of_char : char -> Base.Sexp.t
type exn = Base.Exn.t
val sexp_of_exn : exn -> Base.Sexp.t
type float = Base.Float.t
val hash_fold_float : Base.Hash.state -> float -> Base.Hash.state
val hash_float : float -> Base.Hash.hash_value
val float_of_sexp : Base.Sexp.t -> float
val sexp_of_float : float -> Base.Sexp.t
type int = Base.Int.t
val hash_fold_int : Base.Hash.state -> int -> Base.Hash.state
val hash_int : int -> Base.Hash.hash_value
val int_of_sexp : Base.Sexp.t -> int
val sexp_of_int : int -> Base.Sexp.t
type int32 = Base.Int32.t
val hash_fold_int32 : Base.Hash.state -> int32 -> Base.Hash.state
val hash_int32 : int32 -> Base.Hash.hash_value
val int32_of_sexp : Base.Sexp.t -> int32
val sexp_of_int32 : int32 -> Base.Sexp.t
type int64 = Base.Int64.t
val hash_fold_int64 : Base.Hash.state -> int64 -> Base.Hash.state
val hash_int64 : int64 -> Base.Hash.hash_value
val int64_of_sexp : Base.Sexp.t -> int64
val sexp_of_int64 : int64 -> Base.Sexp.t
type 'a list = 'a Base.List.t
val hash_fold_list :
'a. (Base.Hash.state -> 'a -> Base.Hash.state) ->
Base.Hash.state ->
'a list ->
Base.Hash.state
val list_of_sexp : 'a. (Base.Sexp.t -> 'a) -> Base.Sexp.t -> 'a list
val sexp_of_list : 'a. ('a -> Base.Sexp.t) -> 'a list -> Base.Sexp.t
type nativeint = Base.Nativeint.t
val hash_fold_nativeint : Base.Hash.state -> nativeint -> Base.Hash.state
val hash_nativeint : nativeint -> Base.Hash.hash_value
val nativeint_of_sexp : Base.Sexp.t -> nativeint
val sexp_of_nativeint : nativeint -> Base.Sexp.t
type 'a option = 'a Base.Option.t
val hash_fold_option :
'a. (Base.Hash.state -> 'a -> Base.Hash.state) ->
Base.Hash.state ->
'a option ->
Base.Hash.state
val option_of_sexp : 'a. (Base.Sexp.t -> 'a) -> Base.Sexp.t -> 'a option
val sexp_of_option : 'a. ('a -> Base.Sexp.t) -> 'a option -> Base.Sexp.t
type 'a ref = 'a Base.Ref.t
val ref_of_sexp : 'a. (Base.Sexp.t -> 'a) -> Base.Sexp.t -> 'a ref
val sexp_of_ref : 'a. ('a -> Base.Sexp.t) -> 'a ref -> Base.Sexp.t
type string = Base.String.t
val hash_fold_string : Base.Hash.state -> string -> Base.Hash.state
val hash_string : string -> Base.Hash.hash_value
val string_of_sexp : Base.Sexp.t -> string
val sexp_of_string : string -> Base.Sexp.t
type bytes = Base.Bytes.t
val bytes_of_sexp : Base.Sexp.t -> bytes
val sexp_of_bytes : bytes -> Base.Sexp.t
type unit = Base.Unit.t
val hash_fold_unit : Base.Hash.state -> unit -> Base.Hash.state
val hash_unit : unit -> Base.Hash.hash_value
val unit_of_sexp : Base.Sexp.t -> unit
val sexp_of_unit : unit -> Base.Sexp.t
Format stuff
type nonrec ('a, 'b, 'c) format = ('a, 'b, 'c) format
type nonrec ('a, 'b, 'c, 'd) format4 = ('a, 'b, 'c, 'd) format4
type nonrec ('a, 'b, 'c, 'd, 'e, 'f) format6 = ('a, 'b, 'c, 'd, 'e, 'f) format6
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_option = 'a option
List operators
include module type of struct include Base.List.Infix end
val (@) : 'a Base.List.t -> 'a Base.List.t -> 'a Base.List.t
Int operators and comparisons
include module type of struct include Base.Int.O end
A sub-module designed to be opened to make working with ints more convenient.
A sub-module designed to be opened to make working with ints more convenient.
val (+) : Base.Int.t -> Base.Int.t -> Base.Int.t
val (-) : Base.Int.t -> Base.Int.t -> Base.Int.t
val (*) : Base.Int.t -> Base.Int.t -> Base.Int.t
val (/) : Base.Int.t -> Base.Int.t -> Base.Int.t
val (~-) : Base.Int.t -> Base.Int.t
val (**) : Base.Int.t -> Base.Int.t -> Base.Int.t
include Base.Comparisons.Infix with type t := Base.Int.t
val abs : Base.Int.t -> Base.Int.t
val neg : Base.Int.t -> Base.Int.t
val zero : Base.Int.t
val (%) : Base.Int.t -> Base.Int.t -> Base.Int.t
val (/%) : Base.Int.t -> Base.Int.t -> Base.Int.t
val (//) : Base.Int.t -> Base.Int.t -> float
val (land) : Base.Int.t -> Base.Int.t -> Base.Int.t
val (lor) : Base.Int.t -> Base.Int.t -> Base.Int.t
val (lxor) : Base.Int.t -> Base.Int.t -> Base.Int.t
val lnot : Base.Int.t -> Base.Int.t
val (lsl) : Base.Int.t -> int -> Base.Int.t
val (asr) : Base.Int.t -> int -> Base.Int.t
val (lsr) : Base.Int.t -> int -> Base.Int.t
Float operators
include module type of struct include Base.Float.O_dot end
Similar to O
, except that operators are suffixed with a dot, allowing one to have both int and float operators in scope simultaneously.
Similar to O
, except that operators are suffixed with a dot, allowing one to have both int and float operators in scope simultaneously.
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
Reverse application operator. x |> g |> f
is equivalent to f (g (x))
.
Boolean operations
val ignore : _ -> unit
val (^) : Base.String.t -> Base.String.t -> Base.String.t
Common string operations
Reference operations
val (!) : 'a ref -> 'a
val ref : 'a -> 'a ref
Pair operations
Exceptions stuff
val raise : exn -> _
val raise_s : Base.Sexp.t -> 'a
Misc
val force : 'a Base.Lazy.t -> 'a
module Continue_or_stop = Base.Continue_or_stop
Continue_or_stop.t
is used by the f
argument to fold_until
in order to indicate whether folding should continue, or stop early.
exception Not_found_s of Sexplib0.Sexp.t
include module type of struct include Stdio end
module In_channel = Stdio.In_channel
module Out_channel = Stdio.Out_channel
val stdin : In_channel.t
Same as In_channel.stdin
val stdout : Out_channel.t
Same as Out_channel.stdout
val stderr : Out_channel.t
Same as Out_channel.stderr
val printf : ('a, Out_channel.t, Base.unit) Base.format -> 'a
Same as Out_channel.printf
val print_s : ?mach:Base.unit -> Base.Sexp.t -> Base.unit
Same as Out_channel.print_s
val eprint_s : ?mach:Base.unit -> Base.Sexp.t -> Base.unit
Same as Out_channel.eprint_s
val eprintf : ('a, Out_channel.t, Base.unit) Base.format -> 'a
Same as Out_channel.eprintf
val print_string : Base.string -> Base.unit
Same as Out_channel.print_string
val print_endline : Base.string -> Base.unit
Same as Out_channel.print_endline
val prerr_endline : Base.string -> Base.unit
Same as Out_channel.prerr_endline
Make sure code using Ppx_core doesn't refer to compiler-libs without being explicit about it
include module type of struct include Ocaml_shadow end
with module Ast_helper := Ocaml_shadow.Ast_helper
with module Asttypes := Ocaml_shadow.Asttypes
with module Docstrings := Ocaml_shadow.Docstrings
with module Identifiable := Ocaml_shadow.Identifiable
with module Lexer := Ocaml_shadow.Lexer
with module Location := Ocaml_shadow.Location
with module Longident := Ocaml_shadow.Longident
with module Parse := Ocaml_shadow.Parse
with module Parser := Ocaml_shadow.Parser
with module Parsetree := Ocaml_shadow.Parsetree
with module Pprintast := Ocaml_shadow.Pprintast
with module Syntaxerr := Ocaml_shadow.Syntaxerr
module Do_not_use_directly = Ocaml_shadow.Do_not_use_directly
module Afl_instrument = Ocaml_shadow.Afl_instrument
module Alias_analysis = Ocaml_shadow.Alias_analysis
module Allocated_const = Ocaml_shadow.Allocated_const
module Annot = Ocaml_shadow.Annot
module Arch = Ocaml_shadow.Arch
module Arg_helper = Ocaml_shadow.Arg_helper
module Asmgen = Ocaml_shadow.Asmgen
module Asmlibrarian = Ocaml_shadow.Asmlibrarian
module Asmlink = Ocaml_shadow.Asmlink
module Asmpackager = Ocaml_shadow.Asmpackager
module Ast_invariants = Ocaml_shadow.Ast_invariants
module Ast_iterator = Ocaml_shadow.Ast_iterator
module Ast_mapper = Ocaml_shadow.Ast_mapper
module Attr_helper = Ocaml_shadow.Attr_helper
module Augment_specialised_args = Ocaml_shadow.Augment_specialised_args
module Backend_intf = Ocaml_shadow.Backend_intf
module Branch_relaxation = Ocaml_shadow.Branch_relaxation
module Branch_relaxation_intf = Ocaml_shadow.Branch_relaxation_intf
module Btype = Ocaml_shadow.Btype
module Build_export_info = Ocaml_shadow.Build_export_info
module Build_path_prefix_map = Ocaml_shadow.Build_path_prefix_map
module Builtin_attributes = Ocaml_shadow.Builtin_attributes
module Bytegen = Ocaml_shadow.Bytegen
module Bytelibrarian = Ocaml_shadow.Bytelibrarian
module Bytelink = Ocaml_shadow.Bytelink
module Bytepackager = Ocaml_shadow.Bytepackager
module Bytesections = Ocaml_shadow.Bytesections
module CSE = Ocaml_shadow.CSE
module CSEgen = Ocaml_shadow.CSEgen
module Ccomp = Ocaml_shadow.Ccomp
module Clambda = Ocaml_shadow.Clambda
module Clflags = Ocaml_shadow.Clflags
module Closure = Ocaml_shadow.Closure
module Closure_conversion = Ocaml_shadow.Closure_conversion
module Closure_conversion_aux = Ocaml_shadow.Closure_conversion_aux
module Closure_element = Ocaml_shadow.Closure_element
module Closure_id = Ocaml_shadow.Closure_id
module Closure_offsets = Ocaml_shadow.Closure_offsets
module Closure_origin = Ocaml_shadow.Closure_origin
module Cmi_format = Ocaml_shadow.Cmi_format
module Cmm = Ocaml_shadow.Cmm
module Cmmgen = Ocaml_shadow.Cmmgen
module Cmo_format = Ocaml_shadow.Cmo_format
module Cmt_format = Ocaml_shadow.Cmt_format
module Cmx_format = Ocaml_shadow.Cmx_format
module Coloring = Ocaml_shadow.Coloring
module Comballoc = Ocaml_shadow.Comballoc
module Compdynlink = Ocaml_shadow.Compdynlink
module Compenv = Ocaml_shadow.Compenv
module Compilation_unit = Ocaml_shadow.Compilation_unit
module Compile = Ocaml_shadow.Compile
module Compilenv = Ocaml_shadow.Compilenv
module Compmisc = Ocaml_shadow.Compmisc
module Compplugin = Ocaml_shadow.Compplugin
module Config = Ocaml_shadow.Config
module Consistbl = Ocaml_shadow.Consistbl
module Ctype = Ocaml_shadow.Ctype
module Datarepr = Ocaml_shadow.Datarepr
module Deadcode = Ocaml_shadow.Deadcode
module Debuginfo = Ocaml_shadow.Debuginfo
module Depend = Ocaml_shadow.Depend
module Dll = Ocaml_shadow.Dll
module Effect_analysis = Ocaml_shadow.Effect_analysis
module Emit = Ocaml_shadow.Emit
module Emitaux = Ocaml_shadow.Emitaux
module Emitcode = Ocaml_shadow.Emitcode
module Env = Ocaml_shadow.Env
module Envaux = Ocaml_shadow.Envaux
module Errors = Ocaml_shadow.Errors
module Export_id = Ocaml_shadow.Export_id
module Export_info = Ocaml_shadow.Export_info
module Export_info_for_pack = Ocaml_shadow.Export_info_for_pack
module Expunge = Ocaml_shadow.Expunge
module Extract_projections = Ocaml_shadow.Extract_projections
module Find_recursive_functions = Ocaml_shadow.Find_recursive_functions
module Flambda = Ocaml_shadow.Flambda
module Flambda_invariants = Ocaml_shadow.Flambda_invariants
module Flambda_iterators = Ocaml_shadow.Flambda_iterators
module Flambda_to_clambda = Ocaml_shadow.Flambda_to_clambda
module Flambda_utils = Ocaml_shadow.Flambda_utils
module Freshening = Ocaml_shadow.Freshening
module Genprintval = Ocaml_shadow.Genprintval
module Id_types = Ocaml_shadow.Id_types
module Ident = Ocaml_shadow.Ident
module Import_approx = Ocaml_shadow.Import_approx
module Includeclass = Ocaml_shadow.Includeclass
module Includecore = Ocaml_shadow.Includecore
module Includemod = Ocaml_shadow.Includemod
module Inconstant_idents = Ocaml_shadow.Inconstant_idents
module Initialize_symbol_to_let_symbol =
Ocaml_shadow.Initialize_symbol_to_let_symbol
module Inline_and_simplify = Ocaml_shadow.Inline_and_simplify
module Inline_and_simplify_aux = Ocaml_shadow.Inline_and_simplify_aux
module Inlining_cost = Ocaml_shadow.Inlining_cost
module Inlining_decision = Ocaml_shadow.Inlining_decision
module Inlining_decision_intf = Ocaml_shadow.Inlining_decision_intf
module Inlining_stats = Ocaml_shadow.Inlining_stats
module Inlining_stats_types = Ocaml_shadow.Inlining_stats_types
module Inlining_transforms = Ocaml_shadow.Inlining_transforms
module Instruct = Ocaml_shadow.Instruct
module Interf = Ocaml_shadow.Interf
module Internal_variable_names = Ocaml_shadow.Internal_variable_names
module Interval = Ocaml_shadow.Interval
module Invariant_params = Ocaml_shadow.Invariant_params
module Lambda = Ocaml_shadow.Lambda
module Lift_code = Ocaml_shadow.Lift_code
module Lift_constants = Ocaml_shadow.Lift_constants
module Lift_let_to_initialize_symbol =
Ocaml_shadow.Lift_let_to_initialize_symbol
module Linearize = Ocaml_shadow.Linearize
module Linkage_name = Ocaml_shadow.Linkage_name
module Linscan = Ocaml_shadow.Linscan
module Liveness = Ocaml_shadow.Liveness
module Mach = Ocaml_shadow.Mach
module Main = Ocaml_shadow.Main
module Main_args = Ocaml_shadow.Main_args
module Makedepend = Ocaml_shadow.Makedepend
module Matching = Ocaml_shadow.Matching
module Meta = Ocaml_shadow.Meta
module Middle_end = Ocaml_shadow.Middle_end
module Misc = Ocaml_shadow.Misc
module Mtype = Ocaml_shadow.Mtype
module Mutable_variable = Ocaml_shadow.Mutable_variable
module Numbers = Ocaml_shadow.Numbers
module Opcodes = Ocaml_shadow.Opcodes
module Oprint = Ocaml_shadow.Oprint
module Optcompile = Ocaml_shadow.Optcompile
module Opterrors = Ocaml_shadow.Opterrors
module Optmain = Ocaml_shadow.Optmain
module Outcometree = Ocaml_shadow.Outcometree
module Parameter = Ocaml_shadow.Parameter
module Parmatch = Ocaml_shadow.Parmatch
module Pass_wrapper = Ocaml_shadow.Pass_wrapper
module Path = Ocaml_shadow.Path
module Pparse = Ocaml_shadow.Pparse
module Predef = Ocaml_shadow.Predef
module Primitive = Ocaml_shadow.Primitive
module Printast = Ocaml_shadow.Printast
module Printclambda = Ocaml_shadow.Printclambda
module Printcmm = Ocaml_shadow.Printcmm
module Printinstr = Ocaml_shadow.Printinstr
module Printlambda = Ocaml_shadow.Printlambda
module Printlinear = Ocaml_shadow.Printlinear
module Printmach = Ocaml_shadow.Printmach
module Printpat = Ocaml_shadow.Printpat
module Printtyp = Ocaml_shadow.Printtyp
module Printtyped = Ocaml_shadow.Printtyped
module Proc = Ocaml_shadow.Proc
module Profile = Ocaml_shadow.Profile
module Projection = Ocaml_shadow.Projection
module Ref_to_variables = Ocaml_shadow.Ref_to_variables
module Reg = Ocaml_shadow.Reg
module Reload = Ocaml_shadow.Reload
module Reloadgen = Ocaml_shadow.Reloadgen
module Remove_free_vars_equal_to_args =
Ocaml_shadow.Remove_free_vars_equal_to_args
module Remove_unused_arguments = Ocaml_shadow.Remove_unused_arguments
module Remove_unused_closure_vars = Ocaml_shadow.Remove_unused_closure_vars
module Remove_unused_program_constructs =
Ocaml_shadow.Remove_unused_program_constructs
module Runtimedef = Ocaml_shadow.Runtimedef
module Schedgen = Ocaml_shadow.Schedgen
module Scheduling = Ocaml_shadow.Scheduling
module Selectgen = Ocaml_shadow.Selectgen
module Selection = Ocaml_shadow.Selection
module Semantics_of_primitives = Ocaml_shadow.Semantics_of_primitives
module Set_of_closures_id = Ocaml_shadow.Set_of_closures_id
module Set_of_closures_origin = Ocaml_shadow.Set_of_closures_origin
module Simple_value_approx = Ocaml_shadow.Simple_value_approx
module Simplif = Ocaml_shadow.Simplif
module Simplify_boxed_integer_ops = Ocaml_shadow.Simplify_boxed_integer_ops
module Simplify_boxed_integer_ops_intf =
Ocaml_shadow.Simplify_boxed_integer_ops_intf
module Simplify_common = Ocaml_shadow.Simplify_common
module Simplify_primitives = Ocaml_shadow.Simplify_primitives
module Spacetime_profiling = Ocaml_shadow.Spacetime_profiling
module Spill = Ocaml_shadow.Spill
module Split = Ocaml_shadow.Split
module Static_exception = Ocaml_shadow.Static_exception
module Strmatch = Ocaml_shadow.Strmatch
module Strongly_connected_components =
Ocaml_shadow.Strongly_connected_components
module Stypes = Ocaml_shadow.Stypes
module Subst = Ocaml_shadow.Subst
module Switch = Ocaml_shadow.Switch
module Symbol = Ocaml_shadow.Symbol
module Symtable = Ocaml_shadow.Symtable
module Tag = Ocaml_shadow.Tag
module Targetint = Ocaml_shadow.Targetint
module Tast_mapper = Ocaml_shadow.Tast_mapper
module Tbl = Ocaml_shadow.Tbl
module Terminfo = Ocaml_shadow.Terminfo
module Topdirs = Ocaml_shadow.Topdirs
module Toploop = Ocaml_shadow.Toploop
module Topmain = Ocaml_shadow.Topmain
module Topstart = Ocaml_shadow.Topstart
module Trace = Ocaml_shadow.Trace
module Translattribute = Ocaml_shadow.Translattribute
module Translclass = Ocaml_shadow.Translclass
module Translcore = Ocaml_shadow.Translcore
module Translmod = Ocaml_shadow.Translmod
module Translobj = Ocaml_shadow.Translobj
module Translprim = Ocaml_shadow.Translprim
module Traverse_for_exported_symbols =
Ocaml_shadow.Traverse_for_exported_symbols
module Typeclass = Ocaml_shadow.Typeclass
module Typecore = Ocaml_shadow.Typecore
module Typedecl = Ocaml_shadow.Typedecl
module Typedtree = Ocaml_shadow.Typedtree
module TypedtreeIter = Ocaml_shadow.TypedtreeIter
module TypedtreeMap = Ocaml_shadow.TypedtreeMap
module Typemod = Ocaml_shadow.Typemod
module Typeopt = Ocaml_shadow.Typeopt
module Types = Ocaml_shadow.Types
module Typetexp = Ocaml_shadow.Typetexp
module Un_anf = Ocaml_shadow.Un_anf
module Unbox_closures = Ocaml_shadow.Unbox_closures
module Unbox_free_vars_of_closures = Ocaml_shadow.Unbox_free_vars_of_closures
module Unbox_specialised_args = Ocaml_shadow.Unbox_specialised_args
module Untypeast = Ocaml_shadow.Untypeast
module Var_within_closure = Ocaml_shadow.Var_within_closure
module Variable = Ocaml_shadow.Variable
module Warnings = Ocaml_shadow.Warnings
module X86_ast = Ocaml_shadow.X86_ast
module X86_dsl = Ocaml_shadow.X86_dsl
module X86_gas = Ocaml_shadow.X86_gas
module X86_masm = Ocaml_shadow.X86_masm
module X86_proc = Ocaml_shadow.X86_proc
module Std : sig ... end
module Light : sig ... end
You should open this module if you intend to use Ppx_core with a standard library that is not Base.
include module type of struct include Light end
You should open this module if you intend to use Ppx_core with a standard library that is not Base.
Includes the overrides from Ppxlib_ast, as well as all the Ast definitions since we need them in every single ppx
include module type of struct include Ppxlib_ast end
module Ast = Light.Ast
module Ast_helper = Light.Ast_helper
module Ast_magic = Light.Ast_magic
module Asttypes = Light.Asttypes
module Docstrings = Light.Docstrings
module Extra_warnings = Light.Extra_warnings
module Lexer = Light.Lexer
module Parse = Light.Parse
module Parser = Light.Parser
module Parsetree = Light.Parsetree
module Pprintast = Light.Pprintast
module Select_ast = Light.Select_ast
module Selected_ast = Light.Selected_ast
module Syntaxerr = Light.Syntaxerr
module Import_for_core = Light.Import_for_core
include module type of struct include Ast end
and longident = Ocaml_common.Longident.t =
Auxiliary AST types used by parsetree and typedtree.
and arg_label = Migrate_parsetree.Ast_405.Asttypes.arg_label =
Abstract syntax tree produced by parsing
and constant = Migrate_parsetree.Ast_405.Parsetree.constant =
and attributes = attribute list
and payload = Migrate_parsetree.Ast_405.Parsetree.payload =
| PStr of structure
| PSig of signature
| PTyp of core_type
| PPat of pattern * expression option
and core_type = Migrate_parsetree.Ast_405.Parsetree.core_type = {
ptyp_desc : core_type_desc;
ptyp_loc : location;
ptyp_attributes : attributes;
}
and core_type_desc = Migrate_parsetree.Ast_405.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 (string loc * attributes * core_type) 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 = Migrate_parsetree.Ast_405.Parsetree.row_field =
| Rtag of label * attributes * bool * core_type list
| Rinherit of core_type
and pattern = Migrate_parsetree.Ast_405.Parsetree.pattern = {
ppat_desc : pattern_desc;
ppat_loc : location;
ppat_attributes : attributes;
}
and pattern_desc = Migrate_parsetree.Ast_405.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 = Migrate_parsetree.Ast_405.Parsetree.expression = {
pexp_desc : expression_desc;
pexp_loc : location;
pexp_attributes : attributes;
}
and expression_desc = Migrate_parsetree.Ast_405.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 * string loc
| Pexp_new of longident_loc
| Pexp_setinstvar of string loc * expression
| Pexp_override of (string 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 = Migrate_parsetree.Ast_405.Parsetree.case = {
pc_lhs : pattern;
pc_guard : expression option;
pc_rhs : expression;
}
and value_description = Migrate_parsetree.Ast_405.Parsetree.value_description = {
pval_name : string loc;
pval_type : core_type;
pval_prim : string list;
pval_attributes : attributes;
pval_loc : location;
}
and type_declaration = Migrate_parsetree.Ast_405.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 = Migrate_parsetree.Ast_405.Parsetree.type_kind =
| Ptype_abstract
| Ptype_variant of constructor_declaration list
| Ptype_record of label_declaration list
| Ptype_open
and label_declaration = Migrate_parsetree.Ast_405.Parsetree.label_declaration = {
pld_name : string loc;
pld_mutable : mutable_flag;
pld_type : core_type;
pld_loc : location;
pld_attributes : attributes;
}
and constructor_declaration =
Migrate_parsetree.Ast_405.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 =
Migrate_parsetree.Ast_405.Parsetree.constructor_arguments =
| Pcstr_tuple of core_type list
| Pcstr_record of label_declaration list
and type_extension = Migrate_parsetree.Ast_405.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 =
Migrate_parsetree.Ast_405.Parsetree.extension_constructor =
{
pext_name : string loc;
pext_kind : extension_constructor_kind;
pext_loc : location;
pext_attributes : attributes;
}
and extension_constructor_kind =
Migrate_parsetree.Ast_405.Parsetree.extension_constructor_kind =
| Pext_decl of constructor_arguments * core_type option
| Pext_rebind of longident_loc
and class_type = Migrate_parsetree.Ast_405.Parsetree.class_type = {
pcty_desc : class_type_desc;
pcty_loc : location;
pcty_attributes : attributes;
}
and class_type_desc = Migrate_parsetree.Ast_405.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
and class_signature = Migrate_parsetree.Ast_405.Parsetree.class_signature = {
pcsig_self : core_type;
pcsig_fields : class_type_field list;
}
and class_type_field = Migrate_parsetree.Ast_405.Parsetree.class_type_field = {
pctf_desc : class_type_field_desc;
pctf_loc : location;
pctf_attributes : attributes;
}
and class_type_field_desc =
Migrate_parsetree.Ast_405.Parsetree.class_type_field_desc =
| Pctf_inherit of class_type
| Pctf_val of string loc * mutable_flag * virtual_flag * core_type
| Pctf_method of string 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 Migrate_parsetree.Ast_405.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 = Migrate_parsetree.Ast_405.Parsetree.class_expr = {
pcl_desc : class_expr_desc;
pcl_loc : location;
pcl_attributes : attributes;
}
and class_expr_desc = Migrate_parsetree.Ast_405.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
and class_structure = Migrate_parsetree.Ast_405.Parsetree.class_structure = {
pcstr_self : pattern;
pcstr_fields : class_field list;
}
and class_field = Migrate_parsetree.Ast_405.Parsetree.class_field = {
pcf_desc : class_field_desc;
pcf_loc : location;
pcf_attributes : attributes;
}
and class_field_desc = Migrate_parsetree.Ast_405.Parsetree.class_field_desc =
| Pcf_inherit of override_flag * class_expr * string loc option
| Pcf_val of string loc * mutable_flag * class_field_kind
| Pcf_method of string 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 = Migrate_parsetree.Ast_405.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 = Migrate_parsetree.Ast_405.Parsetree.module_type = {
pmty_desc : module_type_desc;
pmty_loc : location;
pmty_attributes : attributes;
}
and module_type_desc = Migrate_parsetree.Ast_405.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 = Migrate_parsetree.Ast_405.Parsetree.signature_item = {
psig_desc : signature_item_desc;
psig_loc : location;
}
and signature_item_desc =
Migrate_parsetree.Ast_405.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 = Migrate_parsetree.Ast_405.Parsetree.module_declaration =
{
pmd_name : string loc;
pmd_type : module_type;
pmd_attributes : attributes;
pmd_loc : location;
}
and module_type_declaration =
Migrate_parsetree.Ast_405.Parsetree.module_type_declaration =
{
pmtd_name : string loc;
pmtd_type : module_type option;
pmtd_attributes : attributes;
pmtd_loc : location;
}
and open_description = Migrate_parsetree.Ast_405.Parsetree.open_description = {
popen_lid : longident_loc;
popen_override : override_flag;
popen_loc : location;
popen_attributes : attributes;
}
and 'a include_infos = 'a Migrate_parsetree.Ast_405.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 = Migrate_parsetree.Ast_405.Parsetree.with_constraint =
| Pwith_type of longident_loc * type_declaration
| Pwith_module of longident_loc * longident_loc
| Pwith_typesubst of type_declaration
| Pwith_modsubst of string loc * longident_loc
and module_expr = Migrate_parsetree.Ast_405.Parsetree.module_expr = {
pmod_desc : module_expr_desc;
pmod_loc : location;
pmod_attributes : attributes;
}
and module_expr_desc = Migrate_parsetree.Ast_405.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 = Migrate_parsetree.Ast_405.Parsetree.structure_item = {
pstr_desc : structure_item_desc;
pstr_loc : location;
}
and structure_item_desc =
Migrate_parsetree.Ast_405.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 = Migrate_parsetree.Ast_405.Parsetree.value_binding = {
pvb_pat : pattern;
pvb_expr : expression;
pvb_attributes : attributes;
pvb_loc : location;
}
and module_binding = Migrate_parsetree.Ast_405.Parsetree.module_binding = {
pmb_name : string loc;
pmb_expr : module_expr;
pmb_attributes : attributes;
pmb_loc : location;
}
and toplevel_phrase = Migrate_parsetree.Ast_405.Parsetree.toplevel_phrase =
| Ptop_def of structure
| Ptop_dir of string * directive_argument
and directive_argument = Migrate_parsetree.Ast_405.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 +'b fold : object ... end
class virtual +'b fold_map : object ... end
class virtual +'b map_with_context : object ... end
class virtual +'b lift : object ... end
include module type of struct include Std end
module Ast_builder = Light.Ast_builder
module Ast_pattern = Light.Ast_pattern
module Ast_traverse = Light.Ast_traverse
module Attribute = Light.Attribute
module Caller_id = Light.Caller_id
module Context_free = Light.Context_free
module Extension = Light.Extension
module File_path = Light.File_path
module Loc = Light.Loc
module Merlin_helpers = Light.Merlin_helpers
module Reserved_namespaces = Light.Reserved_namespaces
module Spellcheck = Light.Spellcheck
include module type of struct include Ppxlib.Ppxlib_private.Common end
val lident : Base.String.t -> Ppxlib.Longident.t
val core_type_of_type_declaration :
Migrate_parsetree.Ast_405.Parsetree.type_declaration ->
Migrate_parsetree.Ast_405.Parsetree.core_type
val name_type_params_in_td :
Migrate_parsetree.Ast_405.Parsetree.type_declaration ->
Migrate_parsetree.Ast_405.Parsetree.type_declaration
val combinator_type_of_type_declaration :
Migrate_parsetree.Ast_405.Parsetree.type_declaration ->
f:
(loc:Ppxlib.Location.t ->
Migrate_parsetree.Ast_405.Parsetree.core_type ->
Migrate_parsetree.Ast_405.Parsetree.core_type) ->
Migrate_parsetree.Ast_405.Parsetree.core_type
val gen_symbol : ?prefix:Base.String.t -> Base.Unit.t -> Base.String.t
val string_of_core_type :
Migrate_parsetree.Ast_405.Parsetree.core_type ->
Base.String.t
val assert_no_attributes :
(string Location.loc * Migrate_parsetree.Ast_405.Parsetree.payload) list ->
Base.Unit.t
val assert_no_attributes_in : Ppxlib.Ast_traverse.iter
val get_type_param_name :
(Migrate_parsetree.Ast_405.Parsetree.core_type
* Migrate_parsetree.Ast_405.Asttypes.variance) ->
Base.String.t Ppxlib.Loc.t
class type_is_recursive : Migrate_parsetree.Ast_405.Asttypes.rec_flag -> Migrate_parsetree.Ast_405.Parsetree.type_declaration
Base.List.t -> object ... end
val loc_of_payload :
(string Location.loc * Migrate_parsetree.Ast_405.Parsetree.payload) ->
Ppxlib.Location.t
val loc_of_attribute :
(string Location.loc * Migrate_parsetree.Ast_405.Parsetree.payload) ->
Ppxlib.Location.t
val curry_applications :
Migrate_parsetree.Ast_405.Parsetree.expression ->
Migrate_parsetree.Ast_405.Parsetree.expression
val attribute_of_warning :
Ppxlib.Location.t ->
Base.String.t ->
string Location.loc * Migrate_parsetree.Ast_405.Parsetree.payload
We don't include these in Std
as these are likely to break external code
module Location = Light.Location
module Longident = Light.Longident
The API of these modules won't change when we upgrade the AST defined by ppxlib_ast.
module Ast_builder_403 = Light.Ast_builder_403
module Ast_pattern_403 = Light.Ast_pattern_403