On Wed, May 27, 2009 at 1:15 PM, Derick Eddington
<[email protected]> wrote:
> On Wed, 2009-05-27 at 12:02 +0300, Abdulaziz Ghuloum wrote:
>> It's bizarre, but it has to be true! :-)
>
> When I see (curried-lambda (a b) ---), I'm expecting a procedure which
> needs two arguments.  When I see (curried-lambda () ---), I'm expecting
> a procedure which needs zero arguments; I'm not expecting to get the
> value(s) returned from calling the procedure.  Same for define-curried.
> But whatever.  To each their own Scheme planet.

My mind is warped by SML when it comes to currying, so for me a
function is always a function with a *single* argument. When I see
 (curried-lambda (a b) ---) and I see two formals, I expect to get a
second order function
with *one* argument; when I see  (curried-lambda () ---) I expect
to see a zero-order function - i.e. an expression - and its would-be
single argument
disappear. At least, this is the way I look at it; I am sure there is
some formal
work on the subject, but I lack any theoretical expertise on higher
order functions ;)

Reply via email to