[top] [prev] [next]

Relations

     infix    =, #  (x, y: Any): BOOLEAN
The operator = returns TRUE if x and y are equal. The operator # returns TRUE if x and y are not equal. It is a static error if the type of x is not assignable to the type of y or vice versa.

Ordinals are equal if they have the same value. Floats are equal if the underlying implementation defines them to be; for example, on an IEEE implementation, +0 equals -0 and NaN does not equal itself. References are equal if they address the same location. Procedures are equal if they agree as closures; that is, if they refer to the same procedure body and environment. Sets are equal if they have the same elements. Arrays are equal if they have the same length and corresponding elements are equal. Records are equal if they have the same fields and corresponding fields are equal.

     infix    <=, >=  (x,y: Ordinal) : BOOLEAN
                      (x,y: Float)   : BOOLEAN
                      (x,y: ADDRESS) : BOOLEAN
                      (x,y: Set)     : BOOLEAN
In the first three cases, <= returns TRUE if x is at most as large as y. In the last case, <= returns TRUE if every element of x is an element of y. In all cases, it is a static error if the type of x is not assignable to the type of y, or vice versa. The expression x >= y is equivalent to y <= x.

     infix    >, <    (x,y: Ordinal) : BOOLEAN
                      (x,y: Float)   : BOOLEAN
                      (x,y: ADDRESS) : BOOLEAN
                      (x,y: Set)     : BOOLEAN
In all cases, x < y means (x <= y) AND (x # y), and x > y means y < x. It is a static error if the type of x is not assignable to the type of y, or vice versa.

Warning: with IEEE floating-point, x <= y is not the same as NOT x > y.

     infix    IN (e: Ordinal; s: Set): BOOLEAN
Returns TRUE if e is an element of the set s. It is a static error if the type of e is not assignable to the element type of s. If the value of e is not a member of the element type, no error occurs, but IN returns FALSE.

[top] [prev] [next]