Хотя я немного понимаю о каррировании в математическом смысле, частично применение функции infix было новой концепцией, которую я обнаружил после дайвинга в книгу Учите вас в Haskell для Great Good.
Учитывая эту функцию:
applyTwice :: (a -> a) -> a -> a
applyTwice f x = f (f x)
Автор использует его интересным способом:
ghci> applyTwice (++ [0]) [1]
[1,0,0]
ghci> applyTwice ([0] ++) [1]
[0,0,1]
Здесь я ясно вижу, что результирующая функция имела разные параметры прошло, что не произойдет обычным способом, учитывая, что это карри функция (не так ли?). Итак, существует ли какая-либо специальная процедура для секционирования инфикса Haskell? Является ли это общим для всех функций infix?
В качестве дополнительной заметки, это моя первая неделя с Haskell и функциональное программирование, и я все еще читаю книгу.