Package ocaml
Contents
Stdlib
BigarrayCamlinternalAtomicCamlinternalFormatCamlinternalFormatBasicsCamlinternalLazyRun-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.DynlinkDynamic loading of .cmo, .cma and .cmxs files.ProfilingStd_exitStdlibThe OCaml Standard library.StrRegular expressions and high-level string processingTopdirsUnixInterface to the Unix system.UnixLabelsInterface to the Unix system.
Threads
ConditionCondition variables to synchronize between threads.EventFirst-class synchronous communication.MutexLocks for mutual exclusion.SemaphoreSemaphoresThreadLightweight threads for Posix1003.1cand Win32.ThreadUnixThread-compatible system calls.
Compiler libs
Afl_instrumentInstrumentation for afl-fuzz.Alias_analysisAllocated_constConstants that are always allocated (possibly statically). Blocks are not included here since they are always encoded usingPrim (Pmakeblock, ...).AnnotArchArg_helperDecipher command line arguments of the form <value> | <key>=<value>,...AsmgenFrom Lambda to assembly codeAsmlibrarianAsmlinkAsmpackagerAst_helperHelpers to produce Parsetree fragmentsAst_invariantsCheck AST invariantsAst_iteratorAst_iterator.iteratorenables AST inspection using open recursion. A typical mapper would be based onAst_iterator.default_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 attributesAugment_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.BinutilsBranch_relaxationBranch_relaxation_intfBtypeBuild_export_infoConstruct export information, for emission into .cmx files, from an Flambda program.Build_path_prefix_mapRewrite paths for reproducible buildsBuiltin_attributesSupport for some of the builtin attributesBytegenBytelibrarianBytelinkBytepackagerBytesectionsRecording sections written to a bytecode executable fileCSECSEgenCamlinternalMenhirLibCcompCompiling C files and building C librariesClambdaClambda_primitivesClflagsCommand line flagsClosureClosure_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_middle_endClosure_offsetsAssign numerical offsets, within closure blocks, for code pointers and environment entries.Closure_originCmi_formatCmmCmm_helpersCmm_invariantsrun ppf fundeclanalyses the given function, and returns whether any errors were encountered (with corresponding error messages printed on the given formatter).CmmgenCmmgen_stateMutable state used byCmmgen.Cmo_formatCmt2annotCmt_formatcmt and cmti files format.Cmx_formatCmxs_formatColoringComballocCompenvCompilation_unitCompileBytecode compilation for .ml and .mli files.Compile_commonCommon compilation pipeline between bytecode and native.CompilenvCompmiscConfigSystem configurationConsistblConsistency tables: for checking consistency of module CRCsConvert_primitivesCtypeDataflowDatareprDeadcodeDebuginfoDependModule dependencies.DiffingParametric diffingDiffing_with_keysWhen diffing lists where each element has a distinct key, we can refine the diffing patch by introducing two composite edit moves: swaps and moves.DllDocstringsDocumentation commentsDomainstateEffect_analysisSimple side effect analysis.EmitEmitauxEmitcodeEmitenvEnvEnvauxErrorsErrortraceExport_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.ExpungeExtract_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_middle_endTranslate Lambda code to Flambda code, optimize it, and produce Clambda.Flambda_to_clambdaFlambda_utilsUtility functions for the Flambda intermediate language.FresheningFreshening of various identifiers.GenprintvalId_typesIdentIdentifiableUniform interface for common data structures over various things.Import_approxCreate simple value approximations from the export information in .cmx files.IncludeclassIncludecoreIncludemodIncludemod_errorprinterInconstant_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.InstructInt_replace_polymorphic_compareInterfInternal_variable_namesIntervalInvariant_paramsLambdaLazy_backtrackLexerThe lexical analyzerLift_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_symbolLinearLinear_formatLinearizeLinkage_nameLinscanLivenessLoad_pathManagement of include directories.Local_storeThis module provides some facilities for creating references (and hash tables) which can easily be snapshoted and restored to an arbitrary version.LocationSource code locations (ranges of positions), used in parsetree.LongidentLong identifiers, used in parsetree.MachMainMain_argsMaindriverMakedependMatchingMetaMiscMiscellaneous useful types and functionsMtypeMutable_variableNumbersModules about numbers, some of which satisfyIdentifiable.S.OpcodesOprintOptcompileNative compilation for .ml and .mli files.OpterrorsOptmainOptmaindriverOutcometreeParameterParameter.tcarries a uniqueVariable.tused as function parameter. It can also carry annotations about the usage of the variable.ParmatchDetection of partial matches and unused match cases.ParseEntry points in the parserParserParsetreeAbstract syntax tree produced by parsingPass_wrapperPathPatternsPersistent_envPollingAnalyses related to the insertion ofIpolloperations.PparseDriver for the parser and external preprocessors.PprintastPretty-printers forParsetreePredefPrimitivePrintastRaw printer forParsetreePrintclambdaPrintclambda_primitivesPrintcmmPrintinstrPrintlambdaPrintlinearPrintmachPrintpatPrinttypPrinttypedProcProfileCompiler performance recordingProjectionRepresentation of projections from closures and blocks.Rec_checkRef_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_constructsRuntimedefSchedgenSchedulingSelectgenSelectionSemantics_of_primitivesDescription of the semantics of primitives, to be used for optimization purposes.Set_of_closures_idAn identifier, unique across the whole program, that identifies a set of closures (viz.Set_of_closures).Set_of_closures_originShapeShare_constantsShare lifted constants that are eligible for sharing (e.g. not strings) and have equal definitions.Signature_groupIterate on signature by syntactic group of itemsSimple_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.SimplifLambda simplification.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_primitivesSpillSplitStatic_exceptionAn identifier that is used to label static exceptions. Its uniqueness properties are unspecified.StrmatchStrongly_connected_componentsKosaraju's algorithm for strongly connected components.StypesSubstSwitchSymbolA symbol identifies a constant provided by either:SymtableSyntaxerrAuxiliary type for reporting syntax errorsTagTags on runtime boxed values.TargetintTarget processor-native integers.Tast_iteratorAllows the implementation of typed tree inspection using open recursionTast_mapperTerminfoBasic interface to the terminfo databaseTmcTail-modulo-cons optimization.TopcommonThis module provides common implementations for internals ofToploop, for bytecode and native code (seeTopevalfor the diverging parts of the implementation).TopdirsTopevalThis module provides two alternative implementations for internals ofToploop, for bytecode and native code.TophooksToploopTopmainTopstartTraceTranslattributeTranslclassTranslcoreTranslmodTranslobjTranslprimTraverse_for_exported_symbolsType_immediacyImmediacy status of a typeTypeclassTypecoreTypedeclTypedecl_immediacyTypedecl_propertiesTypedecl_separabilityThe 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_unboxedTypedecl_varianceTypedtreeAbstract syntax tree after typingTypemodType-checking of the module language and typed ast hooksTypeoptTypesTypetexpUn_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.UntypeastVar_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.WarningsWarning definitionsX86_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.
Package info
| changes-files | |
| license-files | |
| readme-files |
