Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/compiler/Semant/basics/env.sig
ViewVC logotype

Annotation of /sml/trunk/src/compiler/Semant/basics/env.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 418 - (view) (download) (as text)
Original Path: sml/branches/SMLNJ/src/compiler/Semant/basics/env.sig

1 : monnier 249 (* Copyright 1996 by AT&T Bell Laboratories *)
2 :     (* env.sig *)
3 :    
4 :     signature ENV =
5 :     sig
6 :     structure Symbol : SYMBOL
7 :     structure FastSymbol : FASTSYMBOL
8 :    
9 :     type 'b env
10 :     exception Unbound
11 :     exception SpecialEnv
12 :    
13 :     val empty: 'b env
14 :     val look: 'b env * Symbol.symbol -> 'b
15 :     val bind: Symbol.symbol * 'b * 'b env -> 'b env
16 :    
17 :     val special: (Symbol.symbol -> 'b) * (unit -> Symbol.symbol list) -> 'b env
18 :     (* Note: special(f,NONE) means Don't Memoize! *)
19 :    
20 :     val atop: 'b env * 'b env -> 'b env
21 :     (* atop(e1,e2): place e1 on top of e2 *)
22 :    
23 :     val consolidate: 'b env -> 'b env
24 :     val consolidateLazy: 'b env -> 'b env
25 :     val app: (Symbol.symbol * 'b -> unit) -> 'b env -> unit
26 :     val map: ('b -> 'b) -> 'b env -> 'b env
27 :     val fold: ((Symbol.symbol * 'b) * 'a -> 'a) -> 'a -> 'b env -> 'a
28 :    
29 :     val symbols : 'b env -> Symbol.symbol list
30 :     (* may contain duplicate symbols *)
31 :    
32 :     end (* signature ENV *)
33 :    
34 :    

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0