emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Some improvements for cl-flet


From: akater
Subject: Re: Some improvements for cl-flet
Date: Sun, 12 Sep 2021 03:35:12 +0000

Michael Heerdegen <michael_heerdegen@web.de> writes:

> I'm having problems to understand what you want to do and why.

1. To understand which variation of the patch I should post.

2. Hopefully to convince someone that this (func exp) was a terrible
idea.

> I see that a binding like (f (x y z)) is ambiguous.  But isn't that a
> minor problem?

No.  Syntax ambiguity is always a huge inconvenience.

- If the purpose of cl-lib is to provide a compatibility layer for CL,
  then this is simply not compatible, on top of being ambiguous.

- Such irregularities make code harder to port.

- Such irregularities make it harder to write code programmatically.
  (This also addresses the argument about readability and why would
  anyone write code like this.)

- Last but not least, such irregularities introduce a non-technical
  problem: whether something should be ported to cl-... as is, or a
  degree of artistic freedom is allowed.  If yes, to which extent?  Is
  it worth it to waste everyone's time arguing about each such instance
  in the future and synchronizing their perception?  I'm absolutely
  certain it's not worth it.  The sole point of standards is to be
  followed and thus remain reliable.  Unless they can't be followed for
  technical reasons, in which case it should be noted that those are
  actually limitations, hopefully to be lifted one day.

> And I don't understand why this minor annoyance justifies such a radical
> measure, unless I misread that.

If anything, it's actually (func exp) that is a radical departure from
flet semantics.  I do my best at offering my arguments but in fact it is
one introducing something that is both (!) ambiguous and incompatible
with CL who has (OK, had; it's too late for me now) the burden of proof.

> would I have to use `cl--expand-flet' instead of `cl-flet' in the
> future to get the same behavior as now?

It depends.  Sometimes it's better to use let.  Sometimes, like in our
case with cl-generic, an expander is the most appropriate.

> That would be strange.

With all due respect, I do not accept “strange” for an argument and I
never offer such arguments myself.  “Strange” is subjective.  cl-flet is
incompatible with flet (and rest of the points) --- that's objective.

Even if I fail at convincing anyone that it should be dropped, I do
wonder if this was indeed a Scheme influence.

I conveyed all the reasons I could.  If it's not convincing enough,
there is no point in discussing this further, and I'll soon post a
variation of the patch that keeps this syntax in cl-flet as is.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]