Operators
Operator reference for the Tish language.
Arithmetic
Bitwise (32-bit integer semantics)
Operands are coerced with JavaScript's ToInt32 / ToUint32 — modulo 2³², not a
saturating clamp — so values outside the int32 range wrap exactly like JavaScript
(4294967295 >>> 0 === 4294967295, -1 >>> 0 === 4294967295, 2147483648 | 0 === -2147483648).
Shift counts are masked to the low 5 bits (1 << 35 === 8). This makes hashing/crypto code
that relies on >>> 0 to stay in the unsigned 32-bit range behave identically across the
interpreter, the bytecode VM (including the JIT), and native (Rust) builds.
Equality and comparison
Tish has no loose equality (==).