These structures provides access to "The Visible Compiler" of Standard ML of New Jersey. Individual modules that control the major phases of compilation can be accessed in a type-safe way by user programs. In this way such utilities as the Compilation Manager can be implemented outside of the compiler itself.
structure Stats : STATS
structure Control : CONTROL
structure Source : SOURCE
structure SourceMap : SOURCE_MAP
structure ErrorMsg : ERRORMSG
structure Symbol : SYMBOL
structure StaticEnv : STATICENV
structure DynamicEnv : DYNENV
structure BareEnvironment : ENVIRONMENT
structure Environment : ENVIRONMENT
structure CoerceEnv : COERCE_ENV
structure EnvRef : ENVREF
structure ModuleId : MODULE_ID
structure PersStamps : PERSSTAMPS
structure PrettyPrint : PRETTYPRINT
structure Ast : AST
structure PrintHooks : PRINTHOOKS
structure Compiler
: VISCOMP
structure Stats
structure Control
structure PrettyPrint
install_pp l f
d
, whose full symbolic pathname is (e.g.) MyStruct.Substruct.d
, then defines a prettyprinter
dp : ppstream -> d -> unitover
d
, perhaps using the Oppen primitives. Then dp
is installed in the pp-table via
install_pp ["MyStruct","Substruct","d"] dpSubsequently, when a value of type
d
comes to be printed out, the interactive system uses dp
for displaying the value, instead of using the default datatype prettyprinter.
structure Lambda
type lexp
structure Compiler
version
system
is typically "Standard ML of New Jersey", version_id
tells major and minor version numbers, and date
is spelled out in English.
architecture