Skip to main content

Value LessThan

rascal-0.34.0

Synopsis

Less than operator on values.

Syntax

Exp₁ < Exp₂

Types

Exp₁Exp₂Exp₁ < Exp₂
valuevaluebool

Description

By brute force, a total less than operator between two values V₁ and V₂ of arbitrary types T₁ and T₂ is defined:

  • If the types T₁ and T₂ can be compared then V₁ less than V₂ is used.

  • Otherwise values are ordered according their type name, for instance, int is smaller than list, and map is smaller than rel.

Less than yields true if the value of Exp₁ is strictly less than (according to the ordering defined above) the value of Exp₂, and false otherwise.

Examples

Introduce two variables X, Y and Z and force them to be of type value:

rascal>value X = "abc";
value: "abc"
rascal>value Y = "def";
value: "def"
rascal>value Z = 3.14;
value: 3.14

Now compare X and Y:

rascal>X < Y;
bool: true

and X and Z:

rascal>X < Z;
bool: false