Re: Reawakening keywords Marc Nieper-Wißkirchen 24 Apr 2020 08:26 UTC

Am Fr., 24. Apr. 2020 um 10:00 Uhr schrieb Lassi Kortela <xxxxxx@lassi.io>:

[...]

> This discussion has tipped me over to favor bending the rules of the
> R7RS-large charter so that keywords (if they are adopted in the
> standard) would be added to the native procedure call syntax. It's clear
> that the `call/kw` prefix is considered too heavy to be part of a
> standard language, and shorter prefixes like `kw` or `:` seem to me a
> bit like "squirming in the hook" to avoid a problem that is ultimately
> inevitable :)

I fully agree here.

> The unfortunate thing is that if R7RS-large procedure call syntax is
> extended, we have the Kawa/Racket direction and the CL-style direction
> to go in. Reconciling those would not be easy.

Therefore we should really reconsider the no-bells-and-whistles
solution, which is also fully supported by R7RS-small, namely no
`call/kw' prefix and using symbols to introduce optional arguments (so
that they essentially appear as a plist). Apart from the syntax, this
is equivalent to CL-style. And supported everywhere.

This solves the caller-side of the problem, which is the most visible
side. For the callee-side, there can be different ways like
`lambda/kw', `define/kw' and `let-keywords'.