package ocaml-base-compiler
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Official release 4.08.0
Install
dune-project
Dependency
Authors
Maintainers
Sources
4.08.0.tar.gz
sha256=c8ff78d010cb037ac6d6729e40ebdbee109218899007ef23a20b8f459ac186d6
md5=42ed24e9a7c0e3998cab7d5e7c9f7618
doc/index.html
ocaml-base-compiler
API
Library bigarray
BigarrayLarge, multi-dimensional, numerical arrays.
Library dynlink
DynlinkDynamic loading of .cmo, .cma and .cmxs files.
Library graphics
GraphicsMachine-independent graphics primitives.GraphicsX11Additional graphics primitives for the X Windows system.
Library ocamlbytecomp
BytegenBytelibrarianBytelinkBytepackagerCompileBytecode compilation for .ml and .mli files.EmitcodeErrorsInstructPrintinstr
Library ocamlcommon
AnnotArg_helperDecipher command line arguments of the form <value> | <key>=<value>,...Ast_helperHelpers to produce Parsetree fragmentsAst_invariantsCheck AST invariantsAst_iteratoriteratorallows 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_mapperThe interface of a -ppx rewriterAsttypesAuxiliary AST types used by parsetree and typedtree.Attr_helperHelpers for attributesBtypeBuild_path_prefix_mapRewrite paths for reproducible buildsBuiltin_attributesSupport for some of the builtin attributesBytesectionsRecording sections written to a bytecode executable fileCamlinternalMenhirLibCcompCompiling C files and building C librariesClflagsCommand line flagsCmi_formatCmo_formatCmt_formatcmt and cmti files format.Cmx_formatCompdynlinkDynamic loading of .cmo, .cma and .cmxs files.Compdynlink_commonConstruction of dynlink functionality given the platform-specific code.Compdynlink_platform_intfInterface for platform-specific dynlink providers. Note that this file needs to be a valid .mli file.Compdynlink_typesTypes shared amongst the various parts of the dynlink code.CompenvCompile_commonCommon compilation pipeline between bytecode and native.CompmiscComppluginConfigSystem configurationConsistblConsistency tables: for checking consistency of module CRCsCtypeDatareprDependModule dependencies.DllDocstringsDocumentation commentsEnvEnvauxExpungeIdentIdentifiableUniform interface for common data structures over various things.IncludeclassIncludecoreIncludemodLambdaLexerThe lexical analyzerLoad_pathManagement of include directories.LocationLongidentLong identifiers, used in parsetree.Main_argsMakedependMatchingMetaMiscMiscellaneous useful types and functionsMtypeNumbersModules about numbers, some of which satisfyIdentifiable.S.OpcodesOprintOutcometreeParmatchDetection of partial matches and unused match cases.ParseEntry points in the parserParserParsetreeAbstract syntax tree produced by parsingPathPparseDriver for the parser, external preprocessors and ast plugin hooksPprintastPretty-printers forParsetreePredefPrimitivePrintastRaw printer forParsetreePrintlambdaPrintpatPrinttypPrinttypedProfileCompiler performance recordingRec_checkRuntimedefSemantics_of_primitivesDescription of the semantics of primitives, to be used for optimization purposes.SimplifLambda simplification and lambda plugin hooksStrongly_connected_componentsKosaraju's algorithm for strongly connected components.StypesSubstSwitchSymtableSyntaxerrAuxiliary type for reporting syntax errorsTargetintTarget processor-native integers.Tast_mapperTerminfoBasic interface to the terminfo databaseTranslattributeTranslclassTranslcoreTranslmodTranslobjTranslprimTypeclassTypecoreTypedeclTypedecl_immediacyTypedecl_propertiesTypedecl_unboxedTypedecl_varianceTypedtreeAbstract syntax tree after typingTypedtreeIterTypemodType-checking of the module language and typed ast plugin hooksTypeoptTypesTypetexpUntypeastWarningsWarning definitions
Library ocamloptcomp
Afl_instrumentAlias_analysisAllocated_constConstants that are always allocated (possibly statically). Blocks are not included here since they are always encoded usingPrim (Pmakeblock, ...).ArchAsmgenAsmlibrarianAsmlinkAsmpackagerAugment_specialised_argsHelper module for adding specialised arguments to sets of closures.Backend_intfKnowledge that the middle end needs about the backend.Backend_varVariables used in the backend, optionally equipped with "provenance" information, used for the emission of debugging information.Branch_relaxationBranch_relaxation_intfBuild_export_infoConstruct export information, for emission into .cmx files, from an Flambda program.CSECSEgenClambdaClosureClosure_conversionClosure_conversion_auxEnvironments and auxiliary structures used during closure conversion.Closure_elementClosure_idCR-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_offsetsAssign numerical offsets, within closure blocks, for code pointers and environment entries.Closure_originCmmCmmgenColoringComballocCompilation_unitCompilenvDeadcodeDebuginfoEffect_analysisSimple side effect analysis.EmitEmitauxExport_idExport_infoExported information (that is to say, information written into a .cmx file) about a compilation unit.Export_info_for_packTransformations on export information that are only used for the building of packs.Extract_projectionsIdentify projections from variables used in function bodies (free variables or specialised args, for example, according towhich_variablesbelow). Projections from variables that are also used boxed are not returned.Find_recursive_functions"Recursive functions" are those functionsfthat might call either:FlambdaIntermediate language used for tree-based analysis and optimization.Flambda_invariantsFlambda_iteratorsFlambda_to_clambdaFlambda_utilsUtility functions for the Flambda intermediate language.FresheningFreshening of various identifiers.Id_typesImport_approxCreate simple value approximations from the export information in .cmx files.Inconstant_identsInitialize_symbol_to_let_symbolInline_and_simplifyInline_and_simplify_auxEnvironments and result structures used during inlining and simplification. (See inline_and_simplify.ml.)Inlining_costMeasurement of the cost (including cost in space) of Flambda terms in the context of inlining.Inlining_decisionSee the Flambda manual chapter for an explanation in prose of the inlining decision procedure.Inlining_decision_intfInlining_statsInlining_stats_typesInlining_transformsSource code transformations used during inlining.Int_replace_polymorphic_compareInterfInternal_variable_namesIntervalInvariant_paramsLift_codeLift_constantsThe 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_symbolLinearizeLinkage_nameLinscanLivenessMachMiddle_endMutable_variableOptcompileNative compilation for .ml and .mli files.OpterrorsParameterParameter.tcarries a uniqueVariable.tused as function parameter. It can also carry annotations about the usage of the variable.Pass_wrapperPrintclambdaPrintcmmPrintlinearPrintmachProcProjectionRepresentation of projections from closures and blocks.Ref_to_variablesTransformlet-bound references into variables.RegReloadReloadgenRemove_free_vars_equal_to_argsReplace free variables in closures known to be equal to specialised arguments of such closures with those specialised arguments.Remove_unused_argumentsRemove_unused_closure_varsRemove_unused_program_constructsSchedgenSchedulingSelectgenSelectionSet_of_closures_idAn identifier, unique across the whole program, that identifies a set of closures (viz.Set_of_closures).Set_of_closures_originShare_constantsShare lifted constants that are eligible for sharing (e.g. not strings) and have equal definitions.Simple_value_approxSimple 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_opsSimplify_boxed_integer_ops_intfSimplify_commonconst_*_expr expr v annot, where the expressionexpris known to evaluate to the valuev, attempt to produce a more simple expression together with its approximation and the benefit gained by replacingexprwith this new expression. This simplification is only performed ifexpris known to have no side effects. Otherwise,expritself is returned, with an appropriate approximation but zero benefit.Simplify_primitivesSpacetime_profilingInsertion of instrumentation code for Spacetime profiling.SpillSplitStatic_exceptionAn identifier that is used to label static exceptions. Its uniqueness properties are unspecified.StrmatchSymbolA symbol identifies a constant provided by either:TagTags on runtime boxed values.Traverse_for_exported_symbolsUn_anfUnbox_closuresTurn free variables of closures into specialised arguments. The aim is to cause the closure to become closed.Unbox_free_vars_of_closuresWhen 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_argsWhen 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_closureAn 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.VariableVariable.tis the equivalent of a non-persistentIdent.tin theFlambdatree. It wraps anIdent.ttogether with its sourcecompilation_unit. As such, it is unique within a whole program, not just one compilation unit.X86_astStructured representation of Intel assembly language (32 and 64 bit).X86_dslHelpers for Intel code generatorsX86_gasEmit assembly instructions for gas.X86_masmEmit assembly instructions for MASM (Intel syntax).X86_procDefinitions shared between the 32 and 64 bit Intel backends.
Library ocamltoplevel
Library odoc_info
Odoc_infoInterface to the information collected in source files.
Library raw_spacetime_lib
Raw_spacetime_libAccess to the information recorded by theSpacetimemodule. (It is intended that this module will be used by post-processors rather than users wishing to understand their programs.) For 64-bit targets only. This module may be used from any program, not just one compiled with a compiler configured for Spacetime.
Library stdlib
CamlinternalFormatCamlinternalFormatBasicsCamlinternalLazyRun-time support for lazy values. All functions in this module are for system use only, not for the casual user.CamlinternalModRun-time support for recursive modules. All functions in this module are for system use only, not for the casual user.CamlinternalOORun-time support for objects and classes. All functions in this module are for system use only, not for the casual user.StdlibThe OCaml Standard library.
Library str
StrRegular expressions and high-level string processing
Library threads
ConditionCondition variables to synchronize between threads.EventFirst-class synchronous communication.MutexLocks for mutual exclusion.ThreadLightweight threads for Posix1003.1cand Win32.ThreadUnixThread-compatible system calls.
Library threads
ConditionCondition variables to synchronize between threads.EventFirst-class synchronous communication.MutexLocks for mutual exclusion.ThreadLightweight threads for Posix1003.1cand Win32.ThreadUnixThread-compatible system calls.
Library unix
UnixInterface to the Unix system.UnixLabelsInterface to the Unix system. To use as replacement to defaultUnixmodule, addmodule Unix = UnixLabelsin your implementation.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page