On Mon, Mar 16, 2020 at 12:02 PM Lassi Kortela <xxxxxx@lassi.io> wrote:
> 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.