signature TEMP = sig val anoncounter : int ref val namedcounter : int ref val tempcounter :int ref eqtype temp val newtemp : unit -> temp structure Table : TABLE sharing type Table.key = temp val makestring : temp -> string type label = Symbol.symbol val newlabel : unit -> label val namedlabel : string -> label val intern : string -> label val tempname : temp -> string val labelname : label -> string end