abstract class $IS_LT{T} < $IS_EQ
****
Subtypes of this define "is_lt(T):BOOL and is_eq($OB)". Typically used in typecases. Examples: INT < $IS_LT{INT}, STR < $IS_LT{INT}.
_
Design Note: $IS_LT has the type parameter since objects are almost always comparable only with the same type. With the new rules, if is_lt were defined on e: $OB, then we would have to find some meaning for < with arbitrary objects. (you can't just return false - that makes >= be true!). Hence, objects will only define comparisons with themselves while the container classes can switch on $IS_LT{T} and then use the SYS::is_lt when the contained objects are not directly comparable


Ancestors
$IS_EQ

Descendants
POLYS_RAT FSTR POLYS_FP SL2P
FINITE_FIELD POLYM_INTI CHAR POLYM_RAT
RAT STR PERM PQMIN{_}
POLYS_INTI INTI $NUMBER{_} INT
$REAL_NUMBER{_} FLTD FLT



Public


Features
is_lt(e:T):BOOL;
**** True if self is less than arg for this element type.

The Sather Home Page