Index of modules


A
AstPositions
This module provides shortcuts for AST position handling.

B
BasicSetEquations
This module provides a solver for equations involving set constants, variables, and disjoint sums (i.e.

C
Constraint
This module manages a data structure for constraint in a multi-equation framework.
ConstraintPrettyPrinter
The constraint over equality between terms.
CoreAlgebra
This module implements a core algebra of first order terms.

E
Env
Environment who maps keys whose type is 'a to values of type 'b.
Errors
handle f runs f and exits with exit status 0.

I
InfiniteArray
This module implements infinite arrays.
IntRank
This module describes an ordered type t equipped with a distinguished constant none.

M
Make [BasicSetEquations]
Mark
This module implements a very simple notion of ``mark''.
MiniAlgebra
This module provides the type algebra for the Mini language.
MiniAst
The abstract syntax of MiniML programs.
MiniConstraintPrinter
This module implements a pretty printer for the constraint of the Mini language.
MiniInfer
This module expresses the problem of type inference for MiniML programs to the problem of constraint solving by a transformation of program into typing constraints.
MiniKindInferencer
This module provides a simple inference engine for the kinds of the Mini type system.
MiniPrettyPrinter
This modules instanciates PrettyPrinter for the Mini language.
MiniSolver
This module provides a constraint solver based on unification under a mixed prefix.
MiniSyntacticAnalysis
This module provides a parser for program and a parser for constraint.
MiniTypes
This module transforms types from the user's syntax to the internal representation of the inference engine.
MiniTypingEnvironment
TypingEnvironment implements two mappings used during the constraint generation.
MiniTypingExceptions
This modules declares the exceptions raised by the type inference engine.
Misc
This module contains miscellaneous utilities.
MultiEquation
This module implements a data structure for multi-equations.

P
ParsingExceptions
This module handles parsing errors.
Positions
Extension of standard library's positions.
PrettyPrinter
This module provides a common formatting interface to pretty-print in LaTeX, raw text or module Format mode.
Print
This module provides a simple pretty-printer for the terms maintained by a unifier.
Processing
A simple task manager.

R
RowLabel [CoreAlgebra]
The universe of row labels.

S
Solver
This module provides a constraint solver based on unification under a mixed prefix.
StringMap [Misc]
Maps over strings.
StringSet [Misc]
Sets of strings.

U
Unifier
This module implements unification of (ranked) multi-equations over a row algebra, that is, an algebra obtained by extending a free algebra A with rows (see module CoreAlgebra).
UnionFind
This module implements a simple and efficient union/find algorithm.