package ocaml-base-compiler
Official 4.06.0 release
Install
Dune Dependency
Authors
Maintainers
Sources
4.06.0.tar.gz
sha256=011879c913e8f988ecdac020b205e2baa4023052efed25013bdb9a6b0d5c6a80
md5=4f3906e581181c5435078ffe3e485e3f
doc/index.html
ocaml-base-compiler
API
Library bigarray
Bigarray
Large, multi-dimensional, numerical arrays.
Library dynlink
Dynlink
Dynamic loading of object files.
Library graphics
Graphics
Machine-independent graphics primitives.GraphicsX11
Additional graphics primitives for the X Windows system.
Library ocamlbytecomp
Library ocamlcommon
Annot
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).Ast_helper
Helpers to produce Parsetree fragmentsAst_invariants
Check AST invariantsAst_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.Ast_mapper
The interface of a -ppx rewriterAsttypes
Auxiliary AST types used by parsetree and typedtree.Attr_helper
Helpers for attributesBtype
Builtin_attributes
Bytesections
Recording sections written to a bytecode executable fileCcomp
Clflags
Command line flagsCmi_format
Cmo_format
Cmt_format
cmt and cmti files format.Cmx_format
Compdynlink
Dynamic loading of object files.Compenv
Compmisc
Compplugin
Config
Consistbl
Ctype
Datarepr
Depend
Module dependencies.Dll
Docstrings
Documentation commentsEnv
Envaux
Expunge
Ident
Identifiable
Uniform interface for common data structures over various things.Includeclass
Includecore
Includemod
Lambda
Lexer
Location
Source code locations (ranges of positions), used in parsetree.Longident
Long identifiers, used in parsetree.Main_args
Makedepend
Matching
Meta
Misc
Mtype
Numbers
Modules about numbers, some of which satisfyIdentifiable.S
.Opcodes
Oprint
Outcometree
Parmatch
Parse
Entry points in the parserParser
Parsetree
Abstract syntax tree produced by parsingPath
Pparse
Driver for the parser, external preprocessors and ast plugin hooksPprintast
Predef
Primitive
Printast
Printlambda
Printtyp
Printtyped
Profile
Compiler performance recordingRuntimedef
Semantics_of_primitives
Description of the semantics of primitives, to be used for optimization purposes.Simplif
Lambda simplification and lambda plugin hooksStrongly_connected_components
Kosaraju's algorithm for strongly connected components.Stypes
Subst
Switch
Symtable
Syntaxerr
Auxiliary type for reporting syntax errorsTargetint
Target processor-native integers.Tast_mapper
Tbl
Terminfo
Translattribute
Translclass
Translcore
Translmod
Translobj
Typeclass
Typecore
Typedecl
Typedtree
Abstract syntax tree after typingTypedtreeIter
TypedtreeMap
Typemod
Type-checking of the module language and typed ast plugin hooksTypeopt
Types
Typetexp
Untypeast
Warnings
Library ocamloptcomp
Afl_instrument
Alias_analysis
Allocated_const
Constants that are always allocated (possibly statically). Blocks are not included here since they are always encoded usingPrim (Pmakeblock, ...)
.Arch
Asmgen
Asmlibrarian
Asmlink
Asmpackager
Augment_specialised_args
Helper module for adding specialised arguments to sets of closures.Backend_intf
Knowledge that the middle end needs about the backend.Branch_relaxation
Branch_relaxation_intf
Build_export_info
Construct export information, for emission into .cmx files, from an Flambda program.CSE
CSEgen
Clambda
Closure
Closure_conversion
Closure_conversion_aux
Environments and auxiliary structures used during closure conversion.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.Closure_offsets
Assign numerical offsets, within closure blocks, for code pointers and environment entries.Cmm
Cmmgen
Coloring
Comballoc
Compilation_unit
Compilenv
Deadcode
Debuginfo
Effect_analysis
Simple side effect analysis.Emit
Emitaux
Export_id
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.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.Find_recursive_functions
"Recursive functions" are those functionsf
that might call either:Flambda
Intermediate language used for tree-based analysis and optimization.Flambda_invariants
Flambda_iterators
Flambda_to_clambda
Flambda_utils
Utility functions for the Flambda intermediate language.Freshening
Freshening of various identifiers.Id_types
Import_approx
Create simple value approximations from the export information in .cmx files.Inconstant_idents
Initialize_symbol_to_let_symbol
Inline_and_simplify
Inline_and_simplify_aux
Environments and result structures used during inlining and simplification. (See inline_and_simplify.ml.)Inlining_cost
Measurement of the cost (including cost in space) of Flambda terms in the context of inlining.Inlining_decision
See the Flambda manual chapter for an explanation in prose of the inlining decision procedure.Inlining_decision_intf
Inlining_stats
Inlining_stats_types
Inlining_transforms
Source code transformations used during inlining.Interf
Interval
Invariant_params
Lift_code
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.Lift_let_to_initialize_symbol
Linearize
Linkage_name
Linscan
Liveness
Mach
Middle_end
Mutable_variable
Optcompile
Opterrors
Parameter
Parameter.t
carries a uniqueVariable.t
used as function parameter. It can also carry annotations about the usage of the variable.Pass_wrapper
Printclambda
Printcmm
Printlinear
Printmach
Proc
Projection
Representation of projections from closures and blocks.Ref_to_variables
Transformlet
-bound references into variables.Reg
Reload
Reloadgen
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.Remove_unused_arguments
Remove_unused_closure_vars
Remove_unused_program_constructs
Schedgen
Scheduling
Selectgen
Selection
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
Share_constants
Share lifted constants that are eligible for sharing (e.g. not strings) and have equal definitions.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.Simplify_boxed_integer_ops
Simplify_boxed_integer_ops_intf
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.Simplify_primitives
Spacetime_profiling
Insertion of instrumentation code for Spacetime profiling.Spill
Split
Static_exception
An identifier that is used to label static exceptions. Its uniqueness properties are unspecified.Strmatch
Symbol
A symbol identifies a constant provided by either:Tag
Tags on runtime boxed values.Un_anf
Unbox_closures
Turn free variables of closures into specialised arguments. The aim is to cause the closure to become closed.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.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.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.X86_ast
Structured representation of Intel assembly language (32 and 64 bit).X86_dsl
Helpers for Intel code generatorsX86_gas
Emit assembly instructions for gas.X86_masm
Emit assembly instructions for MASM (Intel syntax).X86_proc
Definitions shared between the 32 and 64 bit Intel backends.
Library ocamltoplevel
Library odoc_info
Odoc_info
Interface to the information collected in source files.
Library raw_spacetime_lib
No module.
Library stdlib
Arg
Parsing of command line arguments.Array
Array operations.ArrayLabels
Array operations.Buffer
Extensible buffers.Bytes
Byte sequence operations.BytesLabels
Byte sequence operations.Callback
Registering OCaml values with the C runtime.CamlinternalBigarray
CamlinternalFormat
CamlinternalFormatBasics
CamlinternalLazy
Run-time support for lazy values. All functions in this module are for system use only, not for the casual user.CamlinternalMod
Run-time support for recursive modules. All functions in this module are for system use only, not for the casual user.CamlinternalOO
Run-time support for objects and classes. All functions in this module are for system use only, not for the casual user.Char
Character operations.Complex
Complex numbers.Digest
MD5 message digest.Ephemeron
Ephemerons and weak hash tableFilename
Operations on file names.Format
Pretty-printing.Gc
Memory management control and statistics; finalised values.Genlex
A generic lexical analyzer.Hashtbl
Hash tables and hash functions.Int32
32-bit integers.Int64
64-bit integers.Lazy
Deferred computations.Lexing
The run-time library for lexers generated byocamllex
.List
List operations.ListLabels
List operations.Map
Association tables over ordered types.Marshal
Marshaling of data structures.MoreLabels
Extra labeled libraries.Nativeint
Processor-native integers.Obj
Operations on internal representations of values.Oo
Operations on objectsParsing
The run-time library for parsers generated byocamlyacc
.Pervasives
The initially opened module.Printexc
Facilities for printing exceptions and inspecting current call stack.Printf
Formatted output functions.Queue
First-in first-out queues.Random
Pseudo-random number generators (PRNG).Scanf
Formatted input functions.Set
Sets over ordered types.Sort
Sorting and merging lists.Spacetime
Profiling of a program's space behaviour over time. Currently only supported on x86-64 platforms running 64-bit code.Stack
Last-in first-out stacks.StdLabels
Standard labeled libraries.Stream
Streams and parsers.String
String operations.StringLabels
String operations.Sys
System interface.Uchar
Unicode characters.Weak
Arrays of weak pointers and hash sets of weak pointers.
Library str
Str
Regular expressions and high-level string processing
Library threads
Condition
Condition variables to synchronize between threads.Event
First-class synchronous communication.Mutex
Locks for mutual exclusion.Thread
Lightweight threads for Posix1003.1c
and Win32.ThreadUnix
Thread-compatible system calls.
Library threads
Condition
Condition variables to synchronize between threads.Event
First-class synchronous communication.Mutex
Locks for mutual exclusion.Thread
Lightweight threads for Posix1003.1c
and Win32.ThreadUnix
Thread-compatible system calls.
Library unix
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