Составление функции композиции: как (.). (.) Работает?
(.)
принимает две функции, которые принимаютодин значение и вернуть значение:
(.) :: (b -> c) -> (a -> b) -> a -> c
поскольку(.)
принимаетдва аргументы, я чувствую, что(.).(.)
должен быть недействительным, но этос отлично отлично
(.).(.) :: (b -> c) -> (a -> a1 -> b) -> a -> a1 -> c
Что здесь происходит? Я понимаю, что этот вопрос плохо сформулирован ... все функции действительно принимают один аргумент благодаря карри. Может быть, лучший способ сказать, что типы нене совпадают.