Cfg : module { PATH : con "/dis/lib/cfg.dis"; Attr : adt { name : string; value : string; }; Tuple : adt { lnum : int; attrs : list of Attr; lookup: fn (t : self ref Tuple, name : string) : string; }; Record : adt { tuples : list of ref Tuple; lookup : fn (r : self ref Record, name : string) : (string, ref Tuple); }; init : fn (path : string) : string; lookup : fn (name : string) : list of (string, ref Record); getkeys : fn () : list of string; };