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
STR POLYM_INTI FSTR POLYM_RAT
$NUMBER{_} $REAL_NUMBER{_} FLT FLTD
INT RAT CHAR POLYS_INTI
INTI



Public


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

The Sather Home Page