ref: 8a788aea84aad3bfbd5b39d78c1925654f3b9e14
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;
};