|
|
|
|
|
by tomp
4150 days ago
|
|
No, you're wrong. `A(B(C(D)))` is different from `(((A B) C) D)` (which is the parenthesized version of `A B C D`). Currying allows simple partial application; if A is a function that "takes 3 arguments" (i.e. it has type `w -> x -> y -> z`, which means that it takes an argument of type `w` and returns a function with type `x -> y -> z`, which takes an argument ...), you can say e.g. A_ = A B C
E1 = A_ D1
E2 = A_ D2
where `A_` is the partially applied function `A`. |
|
And you and he both gave evidence to the initial assertion that "it's confusing".