[plt-scheme] keyword arguments (in v4.0, maybe)  From: Matthew
Flatt (mflatt at cs.utah.edu) Date: Mon Jun 11 23:48:17 EDT 2007
PLT Scheme currently supports keyword-based arguments via the
"kw.ss"   > (define/kw (greet first #:key [last "Smith"] [hi
"Hello"])      (string-append hi ", " first " " last))  > (greet
"John")  "Hello, John Smith"  > (greet "John" #:last "Doe")
"Hello, John Doe"  Many of our library APIs have been improved
by the use of keyword-based arguments, and keyword argument play
an important role in the new Scribble documentation tools.  I
think they should be used more --- probably even supported by
`lambda' and `define' in the v4.0 `big' language.  At the same
time, the way that keyword arguments are currently defined is a
bit weird. Consider these examples:   > (greet #:last "Doe")
greet: expecting a (#:last) keyword got: "Doe"  > (greet "John"
#:hi #:last "Doe")  greet: expecting a (#:last #:hi) keyword
got: "Doe"  The keyword system can't give a better error
message, because you mi