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.Std_exit Stdlib The OCaml Standard library.Afl_instrument Instrumentation for afl-fuzz.Alias_analysis Allocated_const Constants that are always allocated (possibly statically). Blocks are not included here since they are always encoded using Prim (Pmakeblock, ...).Annot Arch Arg_helper Decipher command line arguments of the form <value> | <key>=<value>,...Asmgen From Lambda to assembly codeAsmlibrarian Asmlink Asmpackager Ast_helper Helpers to produce Parsetree fragmentsAst_invariants Check AST invariantsAst_iterator Ast_iterator.iterator enables AST inspection using open recursion. A typical mapper would be based on Ast_iterator.default_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 attributesAugment_specialised_args Helper module for adding specialised arguments to sets of closures.Backend_intf Knowledge that the middle end needs about the backend.Backend_var Variables used in the backend, optionally equipped with "provenance" information, used for the emission of debugging information.Binutils Branch_relaxation Branch_relaxation_intf Btype Build_export_info Construct export information, for emission into .cmx files, from an Flambda program.Build_path_prefix_map Rewrite paths for reproducible buildsBuiltin_attributes Support for the builtin attributes:Bytegen Bytelibrarian Bytelink Bytepackager Bytesections CSE Common interface to all architecture-specific CSE modulesCSEgen CamlinternalMenhirLib Ccomp Compiling C files and building C librariesClambda Clambda_primitives Clflags Command line flagsClosure 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_middle_end Closure_offsets Assign numerical offsets, within closure blocks, for code pointers and environment entries.Closure_origin Cmi_format Cmm Cmm_helpers Cmm_invariants Check a number of continuation-related invariantsCmmgen Cmmgen_state Mutable state used by Cmmgen.Cmo_format Cmt2annot Cmt_format cmt and cmti files format.Cmx_format Cmxs_format Coloring Comballoc Compenv Compilation_unit Compile Bytecode compilation for .ml and .mli files.Compile_common Common compilation pipeline between bytecode and native.Compilenv Compmisc Compression Config System configurationConfig_boot System configurationConfig_main System configurationConsistbl Consistency tables: for checking consistency of module CRCsConvert_primitives Ctype Dataflow Datarepr Deadcode Debuginfo Depend Module dependencies.Diffing Parametric diffingDiffing_with_keys When diffing lists where each element has a distinct key, we can refine the diffing patch by introducing two composite edit moves: swaps and moves.Dll Docstrings Documentation commentsDomainstate Effect_analysis Simple side effect analysis.Emit Emitaux Emitcode Emitenv Env Envaux Errors Errortrace Errortrace_report Functions for reporting core level type errors.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.Expunge Extract_projections Identify projections from variables used in function bodies (free variables or specialised args, for example, according to which_variables below). Projections from variables that are also used boxed are not returned.Find_recursive_functions "Recursive functions" are those functions f that might call either:Flambda Intermediate language used for tree-based analysis and optimization.Flambda_invariants Flambda_iterators Flambda_middle_end Translate Lambda code to Flambda code, optimize it, and produce Clambda.Flambda_to_clambda Flambda_utils Utility functions for the Flambda intermediate language.Format_doc Composable document for the Format formatting engine.Freshening Freshening of various identifiers.Genprintval Gprinttyp This module provides function for printing type expressions as digraph using graphviz format. This is mostly aimed at providing a better representation of type expressions during debugging session.Id_types Ident Identifiable Uniform interface for common data structures over various things.Import_approx Create simple value approximations from the export information in .cmx files.Includeclass Includecore Includemod Includemod_errorprinter 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.Instruct Int_replace_polymorphic_compare Interf Internal_variable_names Interval Invariant_params Lambda Lazy_backtrack Lexer The lexical analyzerLift_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 Linear Linear_format Linearize Linkage_name Linkdeps Linscan Liveness Load_path Management of include directories.Local_store This module provides some facilities for creating references (and hash tables) which can easily be snapshotted and restored to an arbitrary version.Location Source code locations (ranges of positions), used in parsetree.Longident Long identifiers, used in parsetree.Mach Main Main_args Maindriver Makedepend Matching Meta Misc Miscellaneous useful types and functionsMtype Mutable_variable Numbers Modules about numbers, some of which satisfy Identifiable.S.Opcodes Oprint Optcompile Native compilation for .ml and .mli files.Opterrors Optmain Optmaindriver Out_type Functions for representing type expressions and module types as outcometree (with as 'a aliases for cycles) and printing them. All functions below depends on global contexts that keep track ofOutcometree Parameter Parameter.t carries a unique Variable.t used as function parameter. It can also carry annotations about the usage of the variable.Parmatch Detection of partial matches and unused match cases.Parse Entry points in the parserParser Parsetree Abstract syntax tree produced by parsingPass_wrapper Path Patterns Persistent_env Polling Analyses related to the insertion of Ipoll operations.Pparse Driver for the parser and external preprocessors.Pprintast Pretty-printers for ParsetreePredef Primitive Printast Raw printer for ParsetreePrintclambda Printclambda_primitives Printcmm Printinstr Printlambda Printlinear Printmach Printpat Printtyp Printing functionsPrinttyped Proc Profile Compiler performance recordingProjection Representation of projections from closures and blocks.Rawprinttyp This module provides function(s) for printing the internal representation of type expressions. It is targetted at internal use when debbuging the compiler itself.Ref_to_variables Transform let-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 Runtimedef Schedgen Scheduling Selectgen Selection Semantics_of_primitives Description of the semantics of primitives, to be used for optimization purposes.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 Shape Shapes are an abstract representation of modules' implementations which allow the tracking of definitions through functor applications and other module-level operations.Shape_reduce Share_constants Share lifted constants that are eligible for sharing (e.g. not strings) and have equal definitions.Signature_group Iterate on signature by syntactic group of itemsSimple_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.Simplif Lambda simplification.Simplify_boxed_integer_ops Simplify_boxed_integer_ops_intf Simplify_common const_*_expr expr v annot, where the expression expr is known to evaluate to the value v, attempt to produce a more simple expression together with its approximation and the benefit gained by replacing expr with this new expression. This simplification is only performed if expr is known to have no side effects. Otherwise, expr itself is returned, with an appropriate approximation but zero benefit.Simplify_primitives Spill Split Stackframe Stackframegen Static_exception An identifier that is used to label static exceptions. Its uniqueness properties are unspecified.Strmatch Strongly_connected_components Kosaraju's algorithm for strongly connected components.Stypes Subst SubstitutionsSwitch Symbol A symbol identifies a constant provided by either:Symtable Syntaxerr Auxiliary type for reporting syntax errorsTag Tags on runtime boxed values.Targetint Target processor-native integers.Tast_iterator Allows the implementation of typed tree inspection using open recursionTast_mapper Terminfo Basic interface to the terminfo databaseThread_sanitizer Instrumentation of memory accesses to use ThreadSanitizer (TSan) for data race detection. This module contains an instrumentation pass on Cmm, where most of the instrumentation happens.Tmc Tail-modulo-cons optimization.Topcommon This module provides common implementations for internals of Toploop, for bytecode and native code (see Topeval for the diverging parts of the implementation).Topdirs Topeval This module provides two alternative implementations for internals of Toploop, for bytecode and native code.Tophooks Toploop Topmain Topprinters Topstart Trace Translattribute Translclass Translcore Translmod Translobj Translprim Traverse_for_exported_symbols Type_immediacy Immediacy status of a typeTypeclass Typecore Typedecl Typedecl_immediacy Typedecl_properties Typedecl_separability The OCaml runtime assumes for type-directed optimizations that all types are "separable". A type is "separable" if either all its inhabitants (the values of this type) are floating-point numbers, or none of them are.Typedecl_unboxed Typedecl_variance Typedtree Abstract syntax tree after typingTypemod Type-checking of the module language and typed ast hooksTypeopt Types Typetexp 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.Unit_info This module centralize the handling of compilation files and their metadata.Untypeast Value_rec_check Value_rec_compiler Value_rec_types Types related to the compilation of value let-recs (non-functional recursive definitions)Var_within_closure An identifier, unique across the whole program, that identifies a particular variable within a particular closure. Only Project_var, and not Var, nodes are tagged with these identifiers.Variable Variable.t is the equivalent of a non-persistent Ident.t in the Flambda tree. It wraps an Ident.t together with its source compilation_unit. As such, it is unique within a whole program, not just one compilation unit.Warnings Warning definitionsX86_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.| changes-files | |
| license-files | |
| readme-files |