ref: 87d72e7e8614d96b4f61adae5fb05b0534231c4c
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; };