Исправлена ​​ли обратная связь операторов? - PullRequest
22 голосов
/ 18 октября 2011

Что такое исправление операторов backtick?

Например, в этом коде из Real World Haskell :

ghci> (1+) `fmap` [1,2,3] ++ [4,5,6]
[2,3,4,4,5,6]

Очевидно, что оператор обратного удара `fmap` имеет более высокую фиксированность, чем ++, но ни один не задан GHCi .

1 Ответ

22 голосов
/ 18 октября 2011

§4.4.2 из в отчете Haskell говорится, что

Предполагается, что любой оператор, у которого нет декларации о фиксированности, равен 9

«Любой оператор» включает обычные имена функций в обратных галочках.

Ваш пример показывает, что `fmap` имеет более высокую фиксированность, чем ++, потому что ++ действует на результат fmap.

...