I'd almost say that there is no such thing as partial application in
Haskell. Since every:
> f ¡Ë a ¡ú b ¡ú c
is really:
> f ¡Ë a ¡ú (b ¡ú c)
there are no multiple arguments to be applied 'partially', only a
function 'f' that takes one argument and gives you another, anonymous,
function.
Mmm. And since tuples are just one syntactic sugared kind of ADTs, maybe Haskell doesn't have real currying either? ;-) Because really any kind of ADT could be curried in a sense no? Unless we really think of tuples as a handy anonymous kind of ADT that gets special treatment, e.g. because it is the only way to return multiple values from a function in Haskell (without having to declare a new type as must be done in C#, C++ etc?) Which is probably the case...