ref: 482e874528c6c86e661a3e4a1b9fda12f2346385
dir: /module/hash.m/
Hash: module{ PATH: con "/dis/lib/hash.dis"; fun1, fun2: fn(s:string,n:int):int; HashVal: adt{ i: int; r: real; s: string; }; HashNode: adt{ key:string; val:ref HashVal; # insert() can update contents }; HashTable: adt{ a: array of list of HashNode; find: fn(h:self ref HashTable, key:string):ref HashVal; insert: fn(h:self ref HashTable, key:string, val:HashVal); delete: fn(h:self ref HashTable, key:string); all: fn(h:self ref HashTable): list of HashNode; }; new: fn(size:int):ref HashTable; };