ref: db0eab9ca04b896e5760081efd854c57f65f36c3
dir: /module/strinttab.m/
StringIntTab: module
{
PATH: con "/dis/lib/strinttab.dis";
StringInt: adt{
key: string;
val: int;
};
# Binary search of t (which must be sorted) for key.
# Returns (found, val).
lookup: fn(t: array of StringInt, key: string) : (int, int);
# Linear search of t for first pair with given val.
# Returns key (nil if no match).
revlookup: fn(t: array of StringInt, val: int) : string;
};