The ENVIRONMENT signature


Synopsis

signature ENVIRONMENT
structure Compiler.Environment : ENVIRONMENT

Interface

type staticEnv
type dynenv
type symenv
type environment
type symbol
val emptyEnv : environment
val staticPart : environment -> staticEnv
val dynamicPart : environment -> dynenv
val symbolicPart : environment -> symenv
val mkenv : {static : staticEnv, dynamic : dynenv, symbolic : symenv} -> environment
val layerEnv : (environment * environment) -> environment
val concatEnv : (environment * environment) -> environment
val layerStatic : (staticEnv * staticEnv) -> staticEnv
val layerSymbolic : (symenv * symenv) -> symenv
val filterEnv : (environment * Symbol.symbol list) -> environment
val filterStaticEnv : (staticEnv * Symbol.symbol list) -> staticEnv
val consolidateEnv : environment -> environment
val consolidateStatic : staticEnv -> staticEnv
val consolidateSymbolic : symenv -> symenv
val catalogEnv : staticEnv -> Symbol.symbol list
datatype cmEnv
  = CM_NONE
  | CM_ENV of {look : Symbol.symbol -> cmEnv, symbols : unit -> Symbol.symbol list}
val cmEnvOfModule : staticEnv -> Symbol.symbol -> cmEnv
val describe : staticEnv -> Symbol.symbol -> unit
val primEnv : staticEnv

Description

type staticEnv

type dynenv

type symenv

type environment

type symbol

emptyEnv


staticPart en


dynamicPart en


symbolicPart en


mkenv {static, dynamic, symbolic}


layerEnv (en, en2)


concatEnv (en, en2)


layerStatic (st, st2)


layerSymbolic (sy, sy2)


filterEnv (en, l)


filterStaticEnv (st, l)


consolidateEnv en


consolidateStatic st


consolidateSymbolic sy


catalogEnv st


datatype cmEnv

cmEnvOfModule st sy


describe st sy


primEnv