<INTERFACE> The <CD/CONTROLS/ signature <PP> <OPAQUE> <SPEC> <TYPE><ID>priority<TY>int list <SPEC> <TYPE><TYPARAM>'a<ID>control <SPEC> <TYPE><TYPARAM>'a<ID>value_cvt<TY>{tyName : string, fromString : string -> 'a option, toString : 'a -> string} <SPEC> <VAL>control<TY>{name : string, pri : priority, obscurity : int, help : string, ctl : 'a ref} -> 'a control <COMMENT> <PROTOTY> control {<ARG>name</ARG>, <ARG>pri</ARG>, <ARG>obscurity</ARG>, <ARG>help</ARG>, <ARG>ctl</ARG>} </PROTOTY> <PP> explain the use and semantics of control HERE. </COMMENT> <SPEC> <VAL>genControl<TY>{name : string, pri : priority, obscurity : int, help : string, default : 'a} -> 'a control <COMMENT> <PROTOTY> genControl {<ARG>name</ARG>, <ARG>pri</ARG>, <ARG>obscurity</ARG>, <ARG>help</ARG>, <ARG>default</ARG>} </PROTOTY> <PP> </COMMENT> <SPEC> <EXN>ValueSyntax<TY>{tyName : string, ctlName : string, value : string} <SPEC> <VAL>stringControl<TY>'a value_cvt -> 'a control -> string control <COMMENT> <PROTOTY> stringControl <ARG>vc</ARG> <ARG>ctl</ARG> </PROTOTY> <PP> create a string control from a typed control. </COMMENT> <SPEC> <VAL>name<TY>'a control -> string <COMMENT> <PROTOTY> name <ARG>ctl</ARG> </PROTOTY> <PP> </COMMENT> <SPEC> <VAL>get<TY>'a control -> 'a <COMMENT> <PROTOTY> get <ARG>ctl</ARG> </PROTOTY> <PP> </COMMENT> <SPEC> <VAL>set<TY>('a control * 'a) -> unit <COMMENT> <PROTOTY> set (<ARG>ctl</ARG>, <ARG>a</ARG>) </PROTOTY> <PP> </COMMENT> <SPEC> <VAL>set'<TY>('a control * 'a) -> unit -> unit <COMMENT> <PROTOTY> set' (<ARG>ctl</ARG>, <ARG>a</ARG>) <ARG>()</ARG> </PROTOTY> <PP> explain the use and semantics of set' HERE. </COMMENT> <SPEC> <VAL>info<TY>'a control -> {priority : priority, obscurity : int, help : string} <COMMENT> <PROTOTY> info <ARG>ctl</ARG> </PROTOTY> <PP> </COMMENT> <SPEC> <VAL>save'restore<TY>'a control -> unit -> unit <COMMENT> <PROTOTY> save'restore <ARG>ctl</ARG> </PROTOTY> <PP> captures the current value of the control <ARG>ctl</ARG> and returns a function that restores the value. </COMMENT> <SPEC> <VAL>compare<TY>('a control * 'a control) -> order <COMMENT> <PROTOTY> compare (<ARG>ctl</ARG>, <ARG>ctl'</ARG>) </PROTOTY> <PP> compares the priority of the two controls. </COMMENT> </INTERFACE>