On Sat, Nov 2, 2019 at 7:47 PM Lassi Kortela <xxxxxx@lassi.io> wrote:
In those Schemes it relies completely on colons in the symbol names. I
don't think that's a big problem, as colons in names are almost never
used except for keyword arguments, having `call/kw` as the head of the
list clearly shows that some magic is going on, and (values) can be used
for any workarounds. It's also not safe to use symbols with colons in
portable Scheme code, since many Schemes interpret them as keywords. So
I don't think programmers lose any useful symbol names that way.

Agreed.  Option 2 beats Option 1 "from every conceivable point of view", as a friend of mine often says.
The one case that option 2 handles very poorly, is hygienic keywords.

I don't think hygienic macros are fit for standardization e now ven if they do have uses.  No variety of any language, as far as I know, has ever had them.  We have standardized things in Scheme that aren't in use in the Scheme community sometimes, but I tended to follow Python or Haskell or some other precedent.   I don't object to a SRFI about them, but I don't want it to get mixed up with 177.
>> Option 3 is also implementable using syntax-rules alone.

That's very nice, but is that true? Is it able to match the ': symbol at
the start of a list?

Sure: you just declare : as a syntax-rules keyword.