|
|
1.1 root 1: (* Copyright 1989 by AT&T Bell Laboratories *)
2: (* access.sig *)
3:
4: signature ACCESS = sig
5:
6: structure Symbol : SYMBOL
7: structure P : PRIMOP
8: type primop
9: eqtype lvar (* lambda variable id *)
10: type slot (* position in structure record *)
11: type path (* slot chain relative to lambda variable *)
12:
13: datatype access
14: = LVAR of lvar
15: | SLOT of slot
16: | PATH of path
17: | INLINE of primop
18:
19: val mkLvar : unit -> lvar
20: val sameName : lvar * lvar -> unit
21: val dupLvar : lvar -> lvar
22: val namedLvar : Symbol.symbol -> lvar
23: val lvarName : lvar -> string
24: val saveLvarNames : bool ref
25:
26: val pr_lvar: lvar-> string
27: and pr_slot: slot -> string
28: and pr_path: path-> string
29: and pr_access: access-> string
30:
31: end (* signature ACCESS *)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.