Я не понимаю составные функции с arity > 1. в ghci 7.4.1 я напечатал:
((*).succ) 3 4
> 16
Я не полностью понимаю математическое преобразование, но ясно, что оно такое же, как
(*) (succ 3) 4
но когда я делаю:
( (\x y z -> x).(\a b -> a*b) ) 2 3 4 5
> 10
( (\x y z -> y).(\a b -> a*b) ) 2 3 4 5
> No instance for (Num (a0 -> t0))
и теперь я полностью потерян. может ли кто-нибудь объяснить, что происходит? пс. Я знаю, что все в haskell имеет только один параметр, но мне это действительно не помогает:)