On Wed, 2009-05-27 at 12:02 +0300, Abdulaziz Ghuloum wrote: > > (define-curried (f3 x1 x2 x3) "third-order") > > (((f3 1) 2) 3) > "third-order" > > (define-curried (f2 x1 x2) "second-order") > > ((f2 1) 2) > "second-order" > > (define-curried (f1 x1) "first-order") > > (f1 1) > "first-order" > > (define-curried (f0) "zero-order") > > f0 > "zero-order" > > 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. -- : Derick ----------------------------------------------------------------
