Namespace type. Type checking.
The interface of the Type module. It exports a single procedure,
type_check
.
The definition of all the types. You are free to use whatever layout you wish (several files); we have a single types.hh file.
Definitions of
type::TypeEntry
,type::VarEntry
, andtype::FunEntry
, used intype::TypeEnv
to associate data to types, variables, and functions (obviously).
The types environment, comprising three symbol tables: types, functions, and variables, used by the
type::TypeVisitor
.