Module Ocaml_typing

module Allowance : sig ... end
module Annot : sig ... end
module Btype : sig ... end
module CamlinternalQuote : sig ... end
module Cmi_cache : sig ... end
module Cmi_format : sig ... end
module Cms_cache : sig ... end
module Cms_format : sig ... end

cms and cmsi files format.

module Cmt_cache : sig ... end
module Cmt_format : sig ... end

cmt and cmti files format.

module Compilation_unit : sig ... end
module Ctype : sig ... end
module Datarepr : sig ... end
module Env : sig ... end
module Envaux : sig ... end
module Errortrace : sig ... end
module Global_module : sig ... end
module Ident : sig ... end
module Import_info : sig ... end
module Includeclass : sig ... end
module Includecore : sig ... end
module Includemod : sig ... end
module Includemod_errorprinter : sig ... end
module Jkind : sig ... end
module Jkind_axis : sig ... end
module Jkind_intf : sig ... end
module Jkind_types : sig ... end

You should use the types defined in Jkind (which redefines the types in this file) rather than using this file directly, unless you are in Types or Primitive.

module Lambda : sig ... end
module Magic_numbers : sig ... end
module Mode : sig ... end
module Mode_hint : sig ... end
module Mode_intf : sig ... end
module Msupport : sig ... end
module Mtype : sig ... end
module Natural : sig ... end

Support for creating fresh types isomorphic to the natural numbers

module Oprint : sig ... end
module Outcometree : sig ... end
module Parmatch : sig ... end

Detection of partial matches and unused match cases.

module Path : sig ... end
module Patterns : sig ... end
module Persistent_env : sig ... end
module Predef : sig ... end
module Primitive : sig ... end
module Printpat : sig ... end
module Printtyp : sig ... end
module Printtyped : sig ... end
module Saved_parts : sig ... end
module Scalar : sig ... end

This module defines: The scalar types intrinsic to the OCaml compiler, and all of the primitive operations defined on them.

module Shape : sig ... end

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

module Shape_reduce : sig ... end
module Short_paths : sig ... end
module Short_paths_graph : sig ... end

Short_path_graph is a representation of the environment (as a graph, using Graph.t) that is more suitable to answer short path queries.

module Signature_group : sig ... end

Iterate on signature by syntactic group of items

module Signature_with_global_bindings : sig ... end
module Solver : sig ... end
module Solver_intf : sig ... end
module Stypes : sig ... end
module Subst : sig ... end

Substitutions

module Tast_iterator : sig ... end

Allows the implementation of typed tree inspection using open recursion

module Tast_mapper : sig ... end
module Type_shape : sig ... end
module Typeclass : sig ... end
module Typecore : sig ... end
module Typedecl : sig ... end
module Typedecl_properties : sig ... end
module Typedecl_separability : sig ... end

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_variance : sig ... end
module Typedtree : sig ... end

Abstract syntax tree after typing

module Typemod : sig ... end

Type-checking of the module language and typed ast hooks

module Typemode : sig ... end
module Typeopt : sig ... end
module Types : sig ... end
module Typetexp : sig ... end
module Uniqueness_analysis : sig ... end
module Unit_info : sig ... end

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

module Untypeast : sig ... end
module Value_rec_check : sig ... end
module Value_rec_types : sig ... end

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

module Vicuna_traverse_typed_tree : sig ... end
module Vicuna_value_shapes : sig ... end

This file defines a representation of the runtime shapes of OCaml values. These shapes are different from (and unrelated to) the shapes defined in typing/shape.mli.

module Zero_alloc : sig ... end