Lógicos: && (conjunção), | | (disjunção), not (negação)

Numéricos: +, -, *, / (divisão de reais), ^ (exponenciação com inteiros), div (divisão inteira), mod (resto da divisão inteira), ** (exponenciações com reais), log, sin, cos, tan, …

Relacionais: == (igualdade), /= (desigualdade), <, <=, >, >=

Condicional: if ... then ... else ...

                   : : Bool         : : a

Operadores infixos :

Não são mais do que funções, por exemplo : + , * , && , ....

Notação prefixa :

Um operador infixo pode ser usado como uma função vulgar usando a notação prefixa se estiver entre parêntesis :

> 3 + 2
5
> (+) 3 2
5

Funções binárias

Funções com somente 2 argumentos e podem ser usadas como um operador infixo, colocando o seu nome entre :

> div 10 3
3
> 10 `div` 3
3

Novos operadores infixos :

Podemos definir novos operadores infixos, por exemplo :

(+>) :: Float -> Float -> Float
x +< y = x^2 + y

E podemos indicar a prioridade e a associatividade através de declarações :

<aside> ➡️ infixl num op —> associativa à esquerda, num = prioridade, op = nome do operador infixr num op —> associativa à direita, num = prioridade, op = nome do operador infix num op —> não é associativa, num = prioridade, op = nome do operador

</aside>