У меня возникли проблемы с пониманием того, как приложение-приложение работает с currying в haskell. Если у меня есть следующая функция:
($) :: (a -> b) -> a -> b
Я понимаю, что для частичного применения этой функции мне нужно предоставить функцию (a -> b)
($
первый аргумент).
Почему тогда можно сначала применить значение (т.е. обратные аргументы)?
($ 0) :: Num a => (a -> b) -> b
Что мне здесь не хватает?