Operators, Precedence and Associativity - blancas/eisen GitHub Wiki

This page lists the Eisen operators by groups, in order of priority, from the highest to the lowest, and also indicating their associativity.

Subexpression in parenthesis
( e )

Function call
fun-name arg ...

Power of, right-to-left
** power of

Unary, right-to-left
! logical not
~ bit not
+ positive
- negative

User-defined function* as binary operator, left-to-right
.func.

Multiplicative, left-to-right
* multiplication
\\ integer division
/ ratio or division for non-integer numbers
% modulo

Additive, left-to-right
+ addition
- subtraction

Construct, right-to-left
: conj on lists, vector, sets, maps

Concatenation, left-to-right
++ concatenation of sequences

Shift, left-to-right
<< bit shift left
>> bit shift right

Bitwise AND, left-to-right
& and

Bitwise XOR, left-to-right
^ xor

Bitwise OR, left-to-right
| or

Relational, left-to-right
> greater than
>= greater than or equal
< less than
<= less than or equal

Equality, left-to-right
= equals

Logical AND, left-to-right
&& and

Logical OR, left-to-right
|| or