select-compare

[syntax] select-compare x1 x2 clause1 ...

SRFI-67: Each clause, with the possible exception of the last, is of the form (type? c1 ...) where type? is an expression evaluating to a predicate procedure, and c[i] are expressions evaluating to an exact integer in { -1, 0, 1}. The last clause may be an ``else clause'', which has the form (else c1 ...).

Select-compare is a conditional for defining hierarchical extensions and refinements of compare procedures. It compares the values of x1 and x2 by trying the type tests in order, and applies an implict refine-compare on the consequences upon a match.