
Thanks for the responses :) I've read on cartesian closed categories,
but I guess I need more time for it to sink in - my knowlege on
category theory is *very* limited.
Still, continuing on the Int + Int example. Would this be the sequence
of transformations, then?
Int -> (Int -> Int) -> Int
(+) (z) (?)
What do I label the arrow (?) ?
I understand the first transformation as "function (+) when applied to
an Int will result in (Int -> Int)". How would I describe function (?)
similarly ?
It's almost as it the arrow is z and (?) is the Int and I'm applying z
to (?), but that makes no sense!
If I understood correctly, 'z' would be a special type, one which when
applied (?) would return the final Int. This comes Hask being
cartesian closed. Still I'm clueless on the arrow (?)
On Fri, Sep 28, 2012 at 8:07 AM, Kim-Ee Yeoh
Hi Lino,
Brent gave an excellent answer. Looking up "cartesian closed category" should yield even more insights.
On Fri, Sep 28, 2012 at 9:07 AM, Lino Rosa
wrote: 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.
When you speak of a function that "only exists at run time", I think you're alluding to partial evaluation. Haskell doesn't do that, although many have wished for it.
-- Kim-Ee