MyTetra Share
Делитесь знаниями!
Приоритет операторов в Haskell
Время создания: 23.04.2019 00:30
Автор: br0ke
Текстовые метки: haskell, operator, precedence, priority, associativity
Раздел: Информационные технологии - Haskell
Запись: and-semakin/mytetra_data/master/base/1555961441lxg688gvmj/text.html на raw.githubusercontent.com

В Haskell нет встроенных в язык операторов, но в стандартной библиотеке определены самые популярные математические операторы. Каждому оператору присваивается приоритет от 0 (минимальный) до 9 (максимальный). У каждого оператора так же есть ассоциативность: левая, правая или никакая. При левой ассоциативности запись без скобок трактуется так:


2 + 3 + 4 == (2 + 3) + 4


При правой так:


2 ^ 3 ^ 4 == 2 ^ (3 ^ 4)


Операторы без ассоциативности нельзя соединять в цепочки.



Precedence

Operator

Description

Associativity

9

highest

.

Function composition

Right

8

^,^^,**

Power

Right

7

*,/,`quot`,`rem`,`div`,`mod`

Left

6

+,-

Left

5

:

Append to list

Right

4

==,/=,<,<=,>=,>

Compare-operators

3

&&

Logical AND

Right

2

||

Logical OR

Right

1

>>,>>=

Left

1

=<<

Right

0

$,$!,`seq`

Right

 
MyTetra Share v.0.59
Яндекс индекс цитирования