Module Odoc_examples.Expansion

Examples of different features of Expansion

For details on what each of the following examples is showing, see the explanations in the Features page

module Simple : sig ... end

Demonstrates simple expansion with a type equality

module Aliases : sig ... end

Demonstrates expansion when a module is an alias to a hidden module.

module ModuleTypeAliases : sig ... end

Demonstrates that module types are not expanded if they're a simple path to another.

module ModuleTypeAliases2 : sig ... end

Demonstrates that module types 'aliases' are produced by strengthening

module Functors : sig ... end

Demonstrates the expansion of functors

module Include : sig ... end

Demonstrates handling of include statements

module Shadowing : sig ... end

Demonstrates shadowing of identifiers in includes

module DeepEquality : sig ... end

Demonstrates expansion involving an equation on a type in a submodule

module DeepEquality2 : sig ... end

Demonstrates expansion involving an equation on a type in a submodule, but the submodule is already a simple signature

module TypeSubstitution : sig ... end

Demonstrates expansion involving deep destructive type substitution.

module ModuleTypeOf : sig ... end

Demonstrates expanding after recovering the type of a module

module ModuleTypeOfComplications : sig ... end

Demonstrates the interaction of module type of and destructive module substitution