A | |
| algebraic_datatype [MiniTypingEnvironment] |
An algebraic datatype is characterized by a list of data constructors.
|
| arterm [CoreAlgebra] |
Terms whose parameters are either leaves of type
'a, or terms.
|
| associativity [MiniAlgebra] |
Associativity of a symbol.
|
B | |
| binding [MiniAst] |
A
binding is
a set of value definition (MiniAst.value_definition):
, a set of mutually recursive definitions:
, a type definition (MiniAst.type_definition).
|
| builtin_dataconstructor [MiniAlgebra] |
The type of predefined data constructors.
|
C | |
| clause [MiniAst] |
Pattern matching clause.
|
| context [MiniInfer] |
Constraint contexts.
|
| crterm [Constraint] |
The types in contraints are implemented using the internal data structure
defined in
CoreAlgebra.
|
| crterm [MultiEquation] |
The type of term of arbitrary depth.
|
D | |
| data_constructor [MiniTypingEnvironment] |
A data constructor's type is denoted by an ML scheme.
|
| descriptor [MultiEquation] |
A descriptor contains several pieces of information, the most
important of which is the structure of the multi-equation, or,
in other words, its unique non-variable member, if there is one.
|
| dname [MiniAst] |
Data constructors.
|
E | |
| env [MiniKindInferencer] |
The kind inference engine uses an environment implemented by
two functions (get, add).
|
| environment [MiniSolver] |
The solver environment.
|
| environment [MiniTypingEnvironment] |
The type of the typing environement.
|
| environment [MiniAlgebra] |
A type constructor is a type variable with higher-order kind.
|
| environment [Solver] |
The solver environment.
|
| expression [MiniAst] |
An
expression in Mini.
|
F | |
| formatter_output [PrettyPrinter] | |
| formula [MiniConstraintPrinter] | |
| formula [ConstraintPrettyPrinter] |
The constraint over equality between terms.
|
K | |
| kind [MiniAst] | |
L | |
| lname [MiniAst] |
Record labels.
|
| lname [CoreAlgebra] | lname is the type of label.
|
M | |
| mode [PrettyPrinter] | |
N | |
| name [MiniAst] |
Program identifiers.
|
O | |
| options [Processing] | |
| output [PrettyPrinter] | |
P | |
| pattern [MiniAst] | |
| point [UnionFind] |
The abstraction defined by this module is a set of points,
partitioned into equivalence classes.
|
| pool [MultiEquation] | pool is an abstract type denoting a set of type variables related
to a variable binding location.
|
| position [Positions] |
Abstract for position in the lexing stream.
|
| primitive [MiniAst] |
Constant.
|
| process [Processing] | |
| process_data [Processing] | |
| process_datas [Processing] | |
| process_type [Processing] | |
| process_types [Processing] | |
| program [MiniAst] |
A
program in the Mini language is a sequence of toplevel bindings.
|
R | |
| record_binding [MiniAst] | |
| recursive_value_definition_kind [MiniTypes] | recursive_value_definition_kind tests if a recursive definition
is annotated or not.
|
S | |
| scheme [Constraint] |
A type scheme is a pair of a constraint
c and a header h,
wrapped within two sets of universal quantifiers rqs and
fqs.
|
| sname [Constraint] | sname is the type of the names that are used to refer to type
schemes inside constraints.
|
| solving_step [MiniSolver] |
A
solving_step describes a elementary step of the solver.
|
| solving_step [Solver] |
A
solving_step describes a elementary step of the solver.
|
| structure [MultiEquation] |
A multi-equation can be related to a term.
|
| symbol [MiniAlgebra] |
Head symbols.
|
T | |
| t [MiniKindInferencer] |
Internal kind representation.
|
| t [CoreAlgebra.RowLabel] |
A row label is an object of type
t, that is, an integer.
|
| t [IntRank] | |
| t [BasicSetEquations.SetType] |
The type of sets.
|
| t [Mark] |
The type of marks.
|
| t [Env] | |
| t [InfiniteArray] | |
| task [Processing] | |
| task_name [Processing] | |
| tconstraint [MiniSolver] |
The constraint to solve.
|
| tconstraint [Solver] |
The constraint to solve.
|
| tconstraint [Constraint] |
Here is an abbreviation for the type constraint structure instantiated using
our internal variable and term representations.
|
| term [CoreAlgebra] |
Terms whose parameters are of type
'a.
|
| term [BasicSetEquations.Make] |
A
term denotes a disjoint sum of sets with unification
variables inside.
|
| tname [MiniAst] |
Type variable names.
|
| tname [MultiEquation] | tname is the type of type identifiers.
|
| tscheme [Constraint] |
Here is an abbreviation for the type scheme structure instantiated using
out internal variable and term representations.
|
| typ [MiniAst] | |
| type_constraint [Constraint] | type_constraint defines a syntax for the constraints between
types.
|
| type_declaration [MiniAst] | |
| type_definition [MiniAst] |
Type definitions.
|
| type_info [MiniTypingEnvironment] |
A type is characterized by a kind, a variable and an optional set of
algebraic data constructors.
|
V | |
| value_definition [MiniAst] |
A value definition consists of a list of explicit universal
quantifiers, a pattern, and an expression.
|
| variable [Constraint] |
The variables that appear in contraints are the same as the multi-equation
ones.
|
| variable [MultiEquation] |
The structure of the terms manipulated by a unifier is fixed and
made visible to the outside, because it must be accessible to
the constraint solver, which is built on top of a unifier.
|
| variable_kind [MultiEquation] |
There are two kinds of variable.
|