Reawakening keywords John Cowan (23 Apr 2020 21:16 UTC)
Re: Reawakening keywords Alex Shinn (23 Apr 2020 22:51 UTC)
Re: Reawakening keywords John Cowan (23 Apr 2020 23:35 UTC)
Re: Reawakening keywords Alex Shinn (24 Apr 2020 00:04 UTC)
Re: Reawakening keywords John Cowan (24 Apr 2020 00:45 UTC)
Re: Reawakening keywords Marc Nieper-Wißkirchen (24 Apr 2020 06:15 UTC)
Re: Reawakening keywords Lassi Kortela (24 Apr 2020 06:44 UTC)
Re: Reawakening keywords Marc Nieper-Wißkirchen (24 Apr 2020 06:46 UTC)
Re: Reawakening keywords Lassi Kortela (24 Apr 2020 06:52 UTC)
Re: Reawakening keywords Marc Nieper-Wißkirchen (24 Apr 2020 07:10 UTC)
Re: Reawakening keywords Lassi Kortela (24 Apr 2020 07:27 UTC)
Re: Reawakening keywords Marc Nieper-Wißkirchen (24 Apr 2020 07:43 UTC)
Re: Reawakening keywords Lassi Kortela (24 Apr 2020 08:00 UTC)
Re: Reawakening keywords Marc Nieper-Wißkirchen (24 Apr 2020 08:26 UTC)
Re: Reawakening keywords Lassi Kortela (24 Apr 2020 08:34 UTC)
Re: Reawakening keywords Amirouche Boubekki (24 Apr 2020 06:54 UTC)
Re: Reawakening keywords Lassi Kortela (24 Apr 2020 07:04 UTC)
Re: Reawakening keywords Marc Nieper-Wißkirchen (24 Apr 2020 07:13 UTC)
Re: Reawakening keywords Lassi Kortela (24 Apr 2020 07:36 UTC)
Re: Reawakening keywords Lassi Kortela (24 Apr 2020 06:39 UTC)
Re: Reawakening keywords Arthur A. Gleckler (24 Apr 2020 15:07 UTC)
Re: Reawakening keywords John Cowan (25 Apr 2020 00:07 UTC)
Re: Reawakening keywords Arthur A. Gleckler (25 Apr 2020 00:12 UTC)
Re: Reawakening keywords Marc Nieper-Wißkirchen (25 Apr 2020 07:51 UTC)
Re: Reawakening keywords John Cowan (25 Apr 2020 16:04 UTC)
Re: Reawakening keywords Marc Nieper-Wißkirchen (25 Apr 2020 16:40 UTC)
Re: Reawakening keywords John Cowan (25 Apr 2020 18:10 UTC)
Re: Reawakening keywords Marc Nieper-Wißkirchen (25 Apr 2020 18:25 UTC)
Re: Reawakening keywords John Cowan (25 Apr 2020 22:02 UTC)
Re: Reawakening keywords Marc Nieper-Wißkirchen (02 May 2020 19:33 UTC)
Re: Reawakening keywords Marc Nieper-Wißkirchen (24 Apr 2020 06:10 UTC)

Re: Reawakening keywords Lassi Kortela 24 Apr 2020 07:27 UTC

> You seem to use the term "fully interoperable" in trying to explain
> what you mean by "interoperability". I am still not convinced that
> this means much for all practical purposes.

As far as I can tell, it covers the most important use cases ("the 80%
case").

With 177 these can already be done, for example:

;; Gambit
(open-process (call/kw list (path "ls" arguments '("/bin"))))

;; Gauche
(call/kw uri-decode-string "hello+wörld" (cgi-decode #t encoding "utf-8"))

Note that the Gambit example calls `list` with keywords and it still
works! Gambit has self-evaluating keyword objects, so those actually go
into the rest argument of `list` in Gambit's evaluation model.

Likewise, you can (define/kw ...) things that can be used seamlessly
with the existing keyword syntax and function call semantics of those
Schemes.

I don't see how the focus of the SRFI could be any more practical than
this. All you have to do to get all of this is to type an extra
`call/kw` in a few places, and even that only concerns people who want
to use the SRFI instead of the many other compatible keyword systems.

The SRFI could be much better from purity standpoint, to be sure. I'll
happily incorporate anything that doesn't detract from its practicality.

It could also be more versatile (e.g. allowing a keyword argument to be
bound to an identifier with a completely different name). I'd leave this
to fancier keyword systems that are compatible with 177. I never
intended for 177 to have a monopoly on keywords, but the exact opposite.