Module Melange_compiler_libs

module Annot: { ... };
module Bs_clflags: { ... };
module Btype: { ... };
module Builtin_attributes: { ... };

Support for the builtin attributes:

module Cmi_format: { ... };
module Cmt_format: { ... };

cmt and cmti files format.

module Config: { ... };

System configuration

module Ctype: { ... };
module Datarepr: { ... };
module Env: { ... };
module Envaux: { ... };
module Errortrace: { ... };
module Includeclass: { ... };
module Includecore: { ... };
module Includemod: { ... };
module Includemod_errorprinter: { ... };
module Lambda: { ... };
module Location: { ... };

Source code locations (ranges of positions), used in parsetree.

module Matching: { ... };
module Misc: { ... };

Miscellaneous useful types and functions

module Mtype: { ... };
module Oprint: { ... };
module Parmatch: { ... };

Detection of partial matches and unused match cases.

module Patterns: { ... };
module Persistent_env: { ... };
module Predef: { ... };
module Primitive: { ... };
module Printast = Printast;
module Printlambda: { ... };
module Printpat: { ... };
module Printtyp: { ... };
module Printtyped: { ... };
module Value_rec_check: { ... };
module Value_rec_compiler: { ... };
module Value_rec_types: { ... };

Types related to the compilation of value let-recs (non-functional recursive definitions)

module Shape: { ... };

Shapes are an abstract representation of modules' implementations which allow the tracking of definitions through functor applications and other module-level operations.

module Signature_group: { ... };

Iterate on signature by syntactic group of items

module Stypes: { ... };
module Subst: { ... };
module Switch: { ... };
module Tast_iterator: { ... };

Allows the implementation of typed tree inspection using open recursion

module Tast_mapper: { ... };
module Tmc: { ... };

Tail-modulo-cons optimization.

module Translattribute: { ... };
module Translclass: { ... };
module Translcore: { ... };
module Translmod: { ... };
module Translobj: { ... };
module Translprim: { ... };
module Typeclass: { ... };
module Typecore: { ... };
module Typedecl: { ... };
module Typedecl_immediacy: { ... };
module Typedecl_properties: { ... };
module 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.

module Typedecl_unboxed: { ... };
module Typedecl_variance: { ... };
module Typedtree: { ... };

Abstract syntax tree after typing

module Typemod: { ... };

Type-checking of the module language and typed ast hooks

module Typeopt: { ... };
module Types: { ... };
module Typetexp: { ... };
module Unit_info: { ... };

This module centralize the handling of compilation files and their metadata.

module Untypeast: { ... };
module Warnings: { ... };

Warning definitions