Почему
map (^2) [1..10]
работает, а также
map (2^) [1..10]
работает?
Я ожидал, что он будет работать только с одним из них, а не для обоих.
Я думал, что map будет перебирать все элементы [1..10]
, а затем выполнять
[1^2, 2^2, 3^2, ...]
для map (^ 2) [1. .10]
. Тогда я ожидал бы, что при задании map (2 ^) [1..10]
, это приведет к синтаксической ошибке или тому подобному, потому что числа должны быть после ^
, а не раньше.