Index of modules


B
Bash
Provides wrappers for some bash fancy printing, mainly boxes and colors.
Big [Patricia]

C
Compile
Configure

D
DataconMap [TypeCore]
DeBruijn
Dealing with binders.
DerivationPrinter
This module provide a convenient way to print a typing derivation into a (supposedly) human-readable form.
Derivations
This file provides a representation of typing derivations, built by Permissions.
Domain [GMap.S]
Driver
This module sets up a lexer and a parser to create an AST.

E
Either
Exports
Handling the names exported by interfaces and implementations.
ExprPrinter [Expressions]
Our not-so-pretty printer for expressions.
Expressions
This module defines substitution functions and binding functions on expressions as well as data type groups.
ExpressionsCore
This module defines the syntax of expressions.

F
Fact
Conjunction of hypotheses.
FactInference
This module analyzes data type declarations to synthesize facts about data types.
Field [TypeCore]

G
GMap
GSet
This is a stripped down version of GSet that describes both Patricia and CompressedBitSet.
Grammar

H
Hashcons
A simple Hashconsing facility.
Hoist

I
IVarMap [TypeCore]
This is an imperative version of VarMap, in the form expected by Fix.
Identifier
This functor creates a fresh abstract type of names.
InfiniteArray
This module implements infinite arrays.
Interfaces
Treatment of interfaces.
Interpreter

K
Kind
as_arrow k transforms the kind k to an n-ary arrow kind.
KindCheck
This module implements a well-kindedness check for the types of the surface language.
KindPrinter

L
LazyList
This module implements lazy lists.
Lexer
The lexer for Mezzo.
Little [Patricia]
Log
This module provides error reporting functions for Mezzo.

M
Make [Identifier]
Make [MzMap]
MakeNamespace [Namespace]
Map [Identifier.Make]
Mark
Merge
This module implements the merge operation.
Mezzo
This is the entry point of the program.
Mezzo2UntypedMezzo
Mode
The four modes.
ModeMap [Mode]
Maps over modes.
Modules
Find the dependencies of a module.
MzList
A bunch of useful functions for lists.
MzMap
Various missing functions from the Map module.
MzString
Various string utilities.

N
Namespace

O
OCamlKeywords
Option
No "J" prefix for this module since OCaml's standard library does not have an Option module.

P
ParameterMap [Fact]
Patricia
This is an implementation of Patricia trees, following Chris Okasaki's paper at the 1998 ML Workshop in Baltimore.
Permissions
This module provides permission manipulation functions.
PersistentRef
This module implements a persistent store: in other words, it is a purely functional implementation of references, with an explicit store.
PersistentUnionFind
A persistent version of the classic union-find algorithm.

R
Resugar
This function converts an internal name to a possibly-qualified name in the surface syntax.

S
SurfaceSyntaxPrinter

T
TransSurface
Translating the surface syntax down into the core language syntax.
TypeChecker
This is the top of the pyramid: the module that actually performs type-checking.
TypeCore
This module defines the syntax of types, as manipulated by the type-checker.
TypeErrors
Everything you ever dreamed of for reporting errors.
TypePrinter [Types]
Our not-so-pretty printer for types.
Types
This module provides a variety of functions for dealing with types, mostly built on top of DeBruijn and TypeCore.

U
UntypedMezzo2UntypedOCaml
UntypedOCamlPrinter
Utils

V
VarMap [TypeCore]
This module provides a clean way to map a variable to any given piece of data.
Variance
This module is entirely devoted to computing the variance of type parameters in data types.