Subject: bug#57907: 29.0.50; Using keywords with cl-loop

From: Philip Kaludercic <[email-masked]>
Date: Sun, 18 Sep 2022 12:46:18 +0000

Lars Ingebrigtsen <[email-masked]> writes:

> Philip Kaludercic <[email-masked]> writes:
>
>> Why would this be necessary?  I am not saying that `cl-loop' should be
>> converted into a proper keyword-macro, just that each `:foo' in a
>> loop-keyword position ought to be interpreted as `foo'.
>
> You said that cl-loop would be more comfortable if "it doesn't have to
> feel like you are using a whole new language, but instead these are
> just keyword arguments to an unusual function call".
>
> I'm pointing out that this is wrong -- they are not keyword arguments,
> and if you think that they are, you're going to be using it wrong.
>
> In other words, it is a whole new language, not just keyword arguments.

I phrased that clumsily -- while it is a new language, it doesn't always
have to feel like one.  E.g. the repeat-collect example I gave before.
If you *can* use keywords, you *can* make some cl-loop invocations
appear to be a macro or a function call with keyword-arguments.

But of course this wouldn't be the case, as the macro should stay
backwards compatible.