In R6RS, it can be done with identifier syntax.
As soon as we have syntax-case (or identifier syntax for
er-macro-transformers) in R7RS, it can also be done there.
Note that I don't consider identifier syntax part of syntax-case, and I have very strong reservations about having it at all. It's all very well to say that Lisp programmers (unlike Oscar Wilde's cynic) know the value of everything and the cost of nothing, but without identifier syntax, at least what looks like a variable *is* a variable and not some arbitrary expression under the table. Identifier syntax is too much like Algol-68-style call-by-name (as opposed to call-by-name with explicit lambdas, which is another matter).
Maybe you could explain to me why it is so important that the
implementation of SRFI 177 builds upon the native keyword argument
system whenever one is present.
In order to take advantage of efficiencies in the implementation of native keyword arguments that may exist, notably in Racket and Kawa.
This way we will end up only with the least common denominator. But for what purpose?
It solves the most fundamental need: to make the binding of actual parameters to formal parameters transparent at the point of call.
Then all it has to be made sure
that it isn't too hard to implement SRFI 177 on the most relevant
I am very reluctant to deal with a notion of "most relevant systems". Very early in this process I said that R4RS was obsolete and was pulled up very sharply by more senior Schemers. I *am* willing to say that SRFI n depends on some other SRFI or some RnRS feature.