Compiler structureThe Compiler structure 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.
signature VISCOMP
structure Compiler : VISCOMP
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 SCStaticEnv : SCSTATICENV
structure Profile : PROFILE
structure CUnitUtil : CUNITUTIL
structure CMSA : CMSA
structure PersStamps : PERSSTAMPS
structure PrettyPrint : PRETTYPRINT
structure PPTable : sig
    val install_pp : string list -> (PrettyPrint.ppstream -> 'a -> unit) -> unit             
  end
structure Ast : AST
structure Lambda : sig
    type lexp
  end
structure Compile : COMPILE
structure Interact : INTERACT
structure Machm : CODEGENERATOR
structure PrintHooks : PRINTHOOKS
structure Boot : sig
    val coreEnvRef : SCEnv.Env.environment ref         
  end
val version : {system : string, version_id : int list, date : string}         
val banner : string         
val architecture : string         
structure Stats
structure Control
structure PrettyPrint
structure PPTable
install_pp l f
              
d,  	     whose full symbolic pathname is (e.g.)  	     MyStruct.Substruct.d, 	     then defines a               prettyprinter 	     
               dp : ppstream -> d -> unit 
             
 	     over d, perhaps using the Oppen primitives. Then  	     dp is installed   	     in the pp-table via  	     
	      install_pp ["MyStruct","Substruct","d"] dp
             
              Subsequently, 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 Boot
val coreEnvRef
version
          
system is typically "Standard ML of New Jersey",           version_id tells major and minor version numbers,           and date is spelled out in English.     
banner
          
(system), Version (version_id), (date)with dots separating the elements of the version_id.
architecture