<> <> DIRECTORY Rope, WalnutParseMsg, WalnutWindow; WalnutQuery: CEDAR DEFINITIONS = BEGIN LORA: TYPE = LIST OF REF ANY; ROPE: TYPE = Rope.ROPE; REFTEXT: TYPE = REF TEXT; LOR: TYPE = LIST OF ROPE; FilterToMsgSet: PROC [filter: REF ANY, msgSetName: ROPE, status: Status _ NIL] RETURNS [WalnutWindow.OutCome]; Status: TYPE = REF StatusRec; StatusRec: TYPE = RECORD [ phase: Phase _ idle, total, enumerated, accepted, added: NAT _ 0]; Phase: TYPE = {idle, preparing, enumerating, adding}; NewViewedStatus: PROC [name: ROPE _ NIL] RETURNS [status: Status --with a RecordViewer on it--]; Test: TYPE = REF TestRep; TestRep: TYPE = RECORD [ Eval: PROC [msg: Message, data: REF ANY] RETURNS [BOOL], data: REF ANY]; Message: TYPE = REF MessageRep; MessageRep: TYPE = RECORD [ msgID: ROPE, msList: LOR, headers: Headers]; Headers: TYPE = WalnutParseMsg.MsgHeaders; END.