Skip to main content

Value GreaterThan



Greater than operator on values.


Exp₁ > Exp₂


Exp₁Exp₂Exp₁ > Exp₂


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.

Greater 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.


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

rascal>value X = "def";
value: "def"
rascal>value Y = "abc";
value: "abc"
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