<!-- ord-key.mldoc --> <!-- Entities.sgml entry <!ENTITY ORD-KEY SDATA "ord-key-sig.sml"> --> <!DOCTYPE ML-DOC SYSTEM> <COPYRIGHT OWNER="Bell Labs, Lucent Technologies" YEAR=1998> <VERSION VERID="1.0" YEAR=1998 MONTH=6 DAY=5> <TITLE>The ORD_KEY signature</TITLE> <INTERFACE> <HEAD>The <CD/ORD_KEY/ signature</HEAD> <SEEALSO> <SIGREF/ORD_MAP/ <SIGREF/ORD_SET/ <FCTREF/BinarySetFn/ <FCTREF/BinaryMapFn/ <FCTREF/SplaySetFn/ <FCTREF/SplayMapFn/ <FCTREF/ListSetFn/ <FCTREF/ListMapFn/ </SEEALSO> <PP> The <SIGREF NOLINK/ORD_KEY/ signature provides an abstract description of ordered keys. It specifies a type plus a trivalent comparison function. <SIGNATURE SIGID="ORD_KEY"> <SIGBODY SIGID="ORD_KEY" FILE=ORD-KEY> <SPEC> <TYPE><ID>ord_key <SPEC> <VAL>compare<TY>(ord_key * ord_key) -> order <COMMENT> <PROTOTY> compare (<ARG/key/, <ARG/key'/) </PROTOTY> returns <CONREF STRID="General" DOCUMENT=SML-BASIS-DOC/LESS/, <CONREF STRID="General" DOCUMENT=SML-BASIS-DOC/EQUAL/, or <CONREF STRID="General" DOCUMENT=SML-BASIS-DOC/GREATER/ if and only if <ARG/key/ is less than, equal to, or greater than <ARG/key'/, respectively, in some defined linear ordering. </SIGNATURE> </INTERFACE>