package ocaml-base-compiler
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
ocaml-base-compiler 4.06.1
Libraries
This package provides the following libraries (via ocamlobjinfo):
stdlib
Documentation:
CamlinternalFormatBasics
Pervasives
The initially opened module.Array
Array operations.List
List operations.Char
Character operations.Bytes
Byte sequence operations.String
String operations.Sys
System interface.Sort
Sorting and merging lists.Marshal
Marshaling of data structures.Obj
Operations on internal representations of values.Int32
32-bit integers.Int64
64-bit integers.Nativeint
Processor-native integers.Lexing
The run-time library for lexers generated byocamllex
.Parsing
The run-time library for parsers generated byocamlyacc
.Set
Sets over ordered types.Map
Association tables over ordered types.Stack
Last-in first-out stacks.Queue
First-in first-out queues.CamlinternalLazy
Run-time support for lazy values. All functions in this module are for system use only, not for the casual user.Lazy
Deferred computations.Stream
Streams and parsers.Buffer
Extensible buffers.CamlinternalFormat
Printf
Formatted output functions.Arg
Parsing of command line arguments.Printexc
Facilities for printing exceptions and inspecting current call stack.Gc
Memory management control and statistics; finalised values.Digest
MD5 message digest.Random
Pseudo-random number generators (PRNG).Hashtbl
Hash tables and hash functions.Format
Pretty-printing.Scanf
Formatted input functions.Callback
Registering OCaml values with the C runtime.CamlinternalOO
Run-time support for objects and classes. All functions in this module are for system use only, not for the casual user.Oo
Operations on objectsCamlinternalMod
Run-time support for recursive modules. All functions in this module are for system use only, not for the casual user.Genlex
A generic lexical analyzer.Weak
Arrays of weak pointers and hash sets of weak pointers.Ephemeron
Ephemerons and weak hash tableFilename
Operations on file names.Complex
Complex numbers.ArrayLabels
Array operations.ListLabels
List operations.BytesLabels
Byte sequence operations.StringLabels
String operations.MoreLabels
Extra labeled libraries.StdLabels
Standard labeled libraries.
threads
Documentation:
Thread
Lightweight threads.Mutex
Locks for mutual exclusion.Condition
Condition variables to synchronize between threads.Event
First-class synchronous communication.ThreadUnix
Thread-compatible system calls.
unix
Documentation:
Unix
Interface to the Unix system.UnixLabels
Interface to the Unix system. To use as replacement to defaultUnix
module, addmodule Unix = UnixLabels
in your implementation.
threads
Documentation:
Thread
Lightweight threads.Mutex
Locks for mutual exclusion.Condition
Condition variables to synchronize between threads.Event
First-class synchronous communication.ThreadUnix
Thread-compatible system calls.
odoc_info
Documentation:
Odoc_config
Odoc_messages
Odoc_global
Odoc_types
Odoc_misc
Odoc_text_parser
Odoc_text_lexer
Odoc_text
Odoc_name
Odoc_parameter
Odoc_value
Odoc_type
Odoc_extension
Odoc_exception
Odoc_class
Odoc_module
Odoc_print
Odoc_str
Odoc_comments_global
Odoc_parser
Odoc_lexer
Odoc_see_lexer
Odoc_env
Odoc_merge
Odoc_sig
Odoc_ast
Odoc_control
Odoc_inherit
Odoc_search
Odoc_scan
Odoc_cross
Odoc_comments
Odoc_dep
Odoc_analyse
Odoc_info
Interface to the information collected in source files.
ocamlbytecomp
Documentation:
ocamlcommon
Documentation:
Config
Misc
Identifiable
Uniform interface for common data structures over various things.Numbers
Modules about numbers, some of which satisfyIdentifiable.S
.Arg_helper
Decipher command line arguments of the form <value> | <key>=<value>,...
(as used for example for the specification of inlining parameters varying by simplification round).Clflags
Command line flagsTbl
Profile
Compiler performance recordingTerminfo
Ccomp
Warnings
Consistbl
Strongly_connected_components
Kosaraju's algorithm for strongly connected components.Targetint
Target processor-native integers.Location
Source code locations (ranges of positions), used in parsetree.Longident
Long identifiers, used in parsetree.Docstrings
Documentation commentsSyntaxerr
Auxiliary type for reporting syntax errorsAst_helper
Helpers to produce Parsetree fragmentsParser
Lexer
Parse
Entry points in the parserPrintast
Pprintast
Ast_mapper
The interface of a -ppx rewriterAst_iterator
iterator
allows to implement AST inspection using open recursion. A typical mapper would be based ondefault_iterator
, a trivial iterator, and will fall back on it for handling the syntax it does not modify.Attr_helper
Helpers for attributesBuiltin_attributes
Ast_invariants
Check AST invariantsDepend
Module dependencies.Ident
Path
Primitive
Types
Btype
Oprint
Subst
Predef
Datarepr
Cmi_format
Env
Typedtree
Abstract syntax tree after typingPrinttyped
Ctype
Printtyp
Includeclass
Mtype
Envaux
Includecore
TypedtreeIter
TypedtreeMap
Tast_mapper
Cmt_format
cmt and cmti files format.Untypeast
Includemod
Typetexp
Parmatch
Stypes
Typedecl
Typeopt
Typecore
Typeclass
Typemod
Type-checking of the module language and typed ast plugin hooksLambda
Printlambda
Semantics_of_primitives
Description of the semantics of primitives, to be used for optimization purposes.Switch
Matching
Translobj
Translattribute
Translcore
Translclass
Translmod
Simplif
Lambda simplification and lambda plugin hooksRuntimedef
Meta
Opcodes
Bytesections
Recording sections written to a bytecode executable fileDll
Symtable
Pparse
Driver for the parser, external preprocessors and ast plugin hooksMain_args
Compenv
Compmisc
Compdynlink
Dynamic loading of object files.Compplugin
Makedepend
ocamloptcomp
Documentation:
Debuginfo
Tag
Tags on runtime boxed values.Linkage_name
Compilation_unit
Variable
Variable.t
is the equivalent of a non-persistentIdent.t
in theFlambda
tree. It wraps anIdent.t
together with its sourcecompilation_unit
. As such, it is unique within a whole program, not just one compilation unit.Mutable_variable
Id_types
Set_of_closures_id
An identifier, unique across the whole program, that identifies a set of closures (viz.Set_of_closures
).Set_of_closures_origin
Closure_element
Closure_id
CR-someday lwhite: "Closure_id" is quite a generic name. I wonder whether something like "Closure_label" would better capture that it is the label of a projection.Var_within_closure
An identifier, unique across the whole program, that identifies a particular variable within a particular closure. OnlyProject_var
, and notVar
, nodes are tagged with these identifiers.Static_exception
An identifier that is used to label static exceptions. Its uniqueness properties are unspecified.Export_id
Symbol
A symbol identifies a constant provided by either:Pass_wrapper
Allocated_const
Constants that are always allocated (possibly statically). Blocks are not included here since they are always encoded usingPrim (Pmakeblock, ...)
.Parameter
Parameter.t
carries a uniqueVariable.t
used as function parameter. It can also carry annotations about the usage of the variable.Projection
Representation of projections from closures and blocks.Flambda
Intermediate language used for tree-based analysis and optimization.Flambda_iterators
Flambda_utils
Utility functions for the Flambda intermediate language.Inlining_cost
Measurement of the cost (including cost in space) of Flambda terms in the context of inlining.Effect_analysis
Simple side effect analysis.Freshening
Freshening of various identifiers.Simple_value_approx
Simple approximations to the runtime results of computations. This pass is designed for speed rather than accuracy; the performance is important since it is used heavily during inlining.Lift_code
Closure_conversion_aux
Environments and auxiliary structures used during closure conversion.Closure_conversion
Initialize_symbol_to_let_symbol
Lift_let_to_initialize_symbol
Find_recursive_functions
"Recursive functions" are those functionsf
that might call either:Invariant_params
Inconstant_idents
Alias_analysis
Lift_constants
The aim of this pass is to assign symbols to values known to be constant (in other words, whose values we know at compile time), with appropriate sharing of constants, and replace the occurrences of the constants with their corresponding symbols.Share_constants
Share lifted constants that are eligible for sharing (e.g. not strings) and have equal definitions.Simplify_common
const_*_expr expr v annot
, where the expressionexpr
is known to evaluate to the valuev
, attempt to produce a more simple expression together with its approximation and the benefit gained by replacingexpr
with this new expression. This simplification is only performed ifexpr
is known to have no side effects. Otherwise,expr
itself is returned, with an appropriate approximation but zero benefit.Remove_unused_arguments
Remove_unused_closure_vars
Remove_unused_program_constructs
Simplify_boxed_integer_ops
Simplify_primitives
Inlining_stats_types
Inlining_stats
Inline_and_simplify_aux
Environments and result structures used during inlining and simplification. (See inline_and_simplify.ml.)Remove_free_vars_equal_to_args
Replace free variables in closures known to be equal to specialised arguments of such closures with those specialised arguments.Extract_projections
Identify projections from variables used in function bodies (free variables or specialised args, for example, according towhich_variables
below). Projections from variables that are also used boxed are not returned.Augment_specialised_args
Helper module for adding specialised arguments to sets of closures.Unbox_free_vars_of_closures
When approximations of free variables of closures indicate that they are closures or blocks, rewrite projections from such blocks to new variables (which become free in the closures), with the defining expressions of the projections lifted out of the corresponding sets of closures.Unbox_specialised_args
When approximations of specialised arguments indicate that they are closures or blocks, add more specialised arguments corresponding to the projections from such blocks (with definitions of such projections lifted out), such that the original specialised arguments may later be eliminated.Unbox_closures
Turn free variables of closures into specialised arguments. The aim is to cause the closure to become closed.Inlining_transforms
Source code transformations used during inlining.Inlining_decision
See the Flambda manual chapter for an explanation in prose of the inlining decision procedure.Inline_and_simplify
Ref_to_variables
Transformlet
-bound references into variables.Flambda_invariants
Middle_end
X86_proc
Definitions shared between the 32 and 64 bit Intel backends.X86_dsl
Helpers for Intel code generatorsX86_gas
Emit assembly instructions for gas.X86_masm
Emit assembly instructions for MASM (Intel syntax).Arch
Cmm
Printcmm
Reg
Reg_with_debug_info
Reg_availability_set
Mach
Proc
Clambda
Printclambda
Export_info
Exported information (that is to say, information written into a .cmx file) about a compilation unit.Export_info_for_pack
Transformations on export information that are only used for the building of packs.Compilenv
Closure
Build_export_info
Construct export information, for emission into .cmx files, from an Flambda program.Closure_offsets
Assign numerical offsets, within closure blocks, for code pointers and environment entries.Flambda_to_clambda
Import_approx
Create simple value approximations from the export information in .cmx files.Un_anf
Afl_instrument
Strmatch
Cmmgen
Interval
Printmach
Selectgen
Spacetime_profiling
Insertion of instrumentation code for Spacetime profiling.Selection
Comballoc
CSEgen
CSE
Liveness
Spill
Split
Interf
Coloring
Linscan
Reloadgen
Reload
Deadcode
Printlinear
Linearize
Available_regs
Schedgen
Scheduling
Branch_relaxation_intf
Branch_relaxation
Emitaux
Emit
Asmgen
Asmlink
Asmlibrarian
Asmpackager
Opterrors
Optcompile
ocamltoplevel
Documentation:
bigarray
Documentation:
Bigarray
Large, multi-dimensional, numerical arrays.
dynlink
Documentation:
Dynlinkaux
Dynlink
Dynamic loading of object files.
graphics
Documentation:
Graphics
Machine-independent graphics primitives.GraphicsX11
Additional graphics primitives for the X Windows system.
raw_spacetime_lib
Documentation:
stdlib
Documentation:
CamlinternalFormatBasics
Pervasives
The initially opened module.List
List operations.Char
Character operations.Uchar
Unicode characters.Bytes
Byte sequence operations.String
String operations.Sys
System interface.Sort
Sorting and merging lists.Marshal
Marshaling of data structures.Obj
Operations on internal representations of values.Array
Array operations.Int32
32-bit integers.Int64
64-bit integers.Nativeint
Processor-native integers.Lexing
The run-time library for lexers generated byocamllex
.Parsing
The run-time library for parsers generated byocamlyacc
.Set
Sets over ordered types.Map
Association tables over ordered types.Stack
Last-in first-out stacks.Queue
First-in first-out queues.CamlinternalLazy
Run-time support for lazy values. All functions in this module are for system use only, not for the casual user.Lazy
Deferred computations.Stream
Streams and parsers.Buffer
Extensible buffers.CamlinternalFormat
Printf
Formatted output functions.Arg
Parsing of command line arguments.Printexc
Facilities for printing exceptions and inspecting current call stack.Gc
Memory management control and statistics; finalised values.Digest
MD5 message digest.Random
Pseudo-random number generators (PRNG).Hashtbl
Hash tables and hash functions.Weak
Arrays of weak pointers and hash sets of weak pointers.Format
Pretty-printing.Scanf
Formatted input functions.Callback
Registering OCaml values with the C runtime.CamlinternalOO
Run-time support for objects and classes. All functions in this module are for system use only, not for the casual user.Oo
Operations on objectsCamlinternalMod
Run-time support for recursive modules. All functions in this module are for system use only, not for the casual user.Genlex
A generic lexical analyzer.Ephemeron
Ephemerons and weak hash tableFilename
Operations on file names.Complex
Complex numbers.ArrayLabels
Array operations.ListLabels
List operations.BytesLabels
Byte sequence operations.StringLabels
String operations.MoreLabels
Extra labeled libraries.StdLabels
Standard labeled libraries.Spacetime
Profiling of a program's space behaviour over time. Currently only supported on x86-64 platforms running 64-bit code.CamlinternalBigarray
stdlib
Documentation:
str
Documentation:
Str
Regular expressions and high-level string processing
unix
Documentation:
Unix
Interface to the Unix system.UnixLabels
Interface to the Unix system. To use as replacement to defaultUnix
module, addmodule Unix = UnixLabels
in your implementation.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page