← Back to AILP Home

Comparison Operators

Operator Operation Example Result
== Equal (a == b) bool
!= Not equal (a != b) bool
< Less than (a < b) bool
> Greater than (a > b) bool
<= Less or equal (a <= b) bool
>= Greater or equal (a >= b) bool
<=> Spaceship (a <=> b) -1, 0, or 1

Spaceship Operator

Three-way comparison returning -1 (less), 0 (equal), or 1 (greater). Result type is int64.

int64:cmp = (a <=> b);
pick (cmp) {
    (-1i64) { println("a < b"); },
    (0i64)  { println("a == b"); },
    (1i64)  { println("a > b"); },
    (*) {}
}

Ternary Conditional — is

Nitpick uses is for ternary expressions:

int32:max = is (a > b) : a : b;
string:msg = is (count == 0) : "empty" : "has items";

Syntax: is (condition) : true_value : false_value

Float Comparison

Never use == with floats. Use epsilon comparison:

flt64:epsilon = 0.000001;
bool:equal = (abs(a - b) < epsilon);