> Kawa's model to distinguish "bare" keyword and quoted one is
> interesting. Is there a way to pass argument list,
> including keyword arguments, via apply? Once it becomes data, it looks
> like it loses "keywordness".
In Racket, which shares the Kawa semantics, there is a special
`keyword-apply`: "Like apply, but kw-lst and kw-val-lst supply
by-keyword arguments in addition to the by-position arguments of the vs
and lst". So it takes a list of keyword objects and internally converts
them somehow to the native calling convention.
<https://docs.racket-lang.org/reference/procedures.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._keyword-apply%29%29>
I couldn't find a similar one in the Kawa manual with a quick search.
Both Kawa and Racket allow a keyword to be quoted: '#:foo
In that case it becomes a keyword object (like :foo in Gauche) and is
not treated as a special syntactic marker.