[Haskell-beginners] Making sense of currying in the context of the Hask Category

Lino Rosa lino.aguiar.rosa at gmail.com
Fri Sep 28 04:07:53 CEST 2012


I'm a Haskell newbie and I couldn't quite make sense of how currying
maps to the the Hask Category.
How would I map, for instance (+) to a Hask 'arrow'?

If objects are types on Hask, then would a -> a -> a be the first
object on this chain?

In that case, for the first arrow, would I have as many arrows as
there are possible partial applications on this type? In other words,
would I have (+) 1, (+) 2, (+) 3 ... all those transitioning to the
second object ( a -> a )
Or, do I have ONE arrow only, like (+) a ?

In either case, what happens after 'm left with the object a -> a?
What function (arrow) mutates it to the final value 'a'? That's the
function resulting from the previous partial application of (+), but
that fuction only exists at run time, after you apply the first one. I
guess the question is, if you'd have to write a diagram for this, what
would you write beside each object and beside each arrow?

More information about the Beginners mailing list