[plt-scheme] keyword arguments (in v4.0, maybe)

From: Eli Barzilay (eli at barzilay.org)
Date: Tue Jun 12 23:27:12 EDT 2007

On Jun 12, Robby Findler wrote:
> Here's another question (which I think your macro expansion message
> may have answered implicitly, I'm not sure): what happens when I do
> something like this:
>   (lambda args (printf "~s\n" args) (apply f args))
> and I apply that procedure to keyword arguments? Will I see the
> keywords,

This is what happens now, since they are plain arguments.

> or will #%app, apply and lambda conspire to make them invisible but
> still somehow transmitted to `f'?

This would be a solution to the `apply' problem -- I've been trying to
find such a solution, but nothing reasonable so far.

> If I can see them, will I be able to manipulate them before passing
> them to `f'?

You won't be able to see them -- and the problem that I'm talking
about is that you won't be able to accept them.  This procedure will
simply barf if given keyword arguments.  (At least IIUC, and I think I
do...)  The bottom line is that this procedure is sort-of like a
traced `f' except that it does not accept keyword arguments at all.
(More in a separate message.)

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the users mailing list.