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'.