Various people wrote:

The syntax of SRFI-177 is too heavy

I agree that keyword-call and even call/kw are long, though that is within the Lisp tradition of verbose identifiers.  How about providing both keyword-call (explicit) and :: (short)?

People have written large
Lisp systems for decades. If one can be found that avoids keyword args
and is still easy to read, it would make for a good case study.

Unlikely, I think.  It's difficult to write a non-trivial CL program that doesn't involve the keyword arguments of the standard library, whether application code contains keyword functions or not.

let-optionals and let-keywords 

There is no real connection between these two except that Alex Shinn wrote both and put them in the same Chibi library.  In particular, you can nest let-keywords in the body of let-optional, but they don't trivially interoperate the way optionals and keywords do in CL or DSSSL.

In my view, we should not attempt to solve the optional-arguments problem in this SRFI; discussion on it can wait for a future SRFI.

I should mention that although a few Schemes may have built-in case-lambda, the majority of them use a syntax-rules definition to expand it to make use of a single rest argument, not even noticing whether all the lambda-lists have at least n arguments and making them explicit.

IMO, the most important reason for having something like SRFI 177 that expands to native keywords on implementations that have them, is that it allows portable code to (conditionally) invoke native code written to expect native keywords.



John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
Andrew Watt on Microsoft:  Never in the field of human computing has so
much been paid by so many to so few! (pace Winston Churchill)