|
|
1.1 ! root 1: (* Copyright 1989 by AT&T Bell Laboratories *) ! 2: (* env.sig *) ! 3: ! 4: signature ENV = ! 5: sig ! 6: (* structure Intmap: TABLE ! 7: structure Basics: BASICS ! 8: sharing Intmap = Basics.Intmap *) ! 9: type binding (* = Basics.binding *) ! 10: type info (* = {path: int list, ! 11: strenv: {s: Basics.Structure array, t: Basics.tycon array}} *) ! 12: type symtable (* = Basics.binding IntStrMap.intstrmap *) ! 13: type env ! 14: datatype 'a locality = LOCAL of 'a | GLOBAL of 'a ! 15: exception Unbound ! 16: exception Unboundrec ! 17: exception UnboundTable ! 18: val newTable : unit -> symtable ! 19: val appenv : (int * string * binding -> unit) -> env * env -> unit ! 20: val current : unit -> env ! 21: val openOld : info * symtable -> unit ! 22: val openNew : info * symtable -> unit ! 23: val openRec : unit -> unit ! 24: val openStr : unit -> unit ! 25: val closeStr : unit -> unit ! 26: val openScope : unit -> env ! 27: val resetEnv : env -> unit ! 28: val collectTable : ((int * string * binding) * info -> unit) -> unit ! 29: val splice : env * env -> unit ! 30: val add : int * string * binding -> unit ! 31: val lookEnv : env * (int * string) -> binding * info ! 32: val look : int * string -> binding * info ! 33: val lookStrLocal : int * string -> binding * info ! 34: val lookRec : int * string -> (binding * info) locality ! 35: val lookRecLocal : int * string -> binding * info ! 36: val commit : unit -> unit ! 37: val restore : unit -> unit ! 38: val previous : unit -> env ! 39: val consolidate : unit -> unit ! 40: val reset : unit -> unit ! 41: ! 42: val popModule: env -> Basics.symtable ! 43: ! 44: val closeCurrentNewEnv: unit -> env ! 45: ! 46: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.