Email list hosting service & mailing list manager

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 06:39 UTC

> Why do we need call/kw at all?

John said it well: "The importance of native keyword support isn't just
efficiency, it's interoperability between native code and portable code,
and SRFI 177 is careful to preserve that."

The main goal of 177 was to go out of my way _not_ to invent anything
new whatsoever :) There is nothing in it that isn't already supported by
_all_ existing Schemes I could find.

> Chibi-style keywords need not be a performance hit with compiler macro
> support.

That is interesting to know. Like John, I was unaware that they could be
made equally fast.

> I'm not necessarily arguing for this, but it's typical to mention prior
> art and alternate approaches in a SRFI.
> SRFI 177 instead goes out of its way to mention every other approach to
> keywords except Chibi's.

Sorry about the omission. I wasn't aware of let-keywords when I wrote
draft 1, and didn't realize until now that you intended it to be an
alternative on equal footing with the native keyword systems in other
Schemes. I thought it was meant as a a higher-level utility, in the same
sense as `match` is a higher-level utility than `case-lambda`. Though
perhaps a sufficiently smart compiler could optimize `match` like it
optimizes `case-lambda`.

I'll include let-keywords in the next draft's rationale.

> If performance really matters and we want to rely on it consistently,
> one option is to abandon lambda/kw and
> make define/kw define a syntax which can be called directly without call/kw.

Marc proposed that approach, and it's still in the cards for 177.