Subject: Re: bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring

From: Michael Heerdegen <[email-masked]>
Date: Fri, 25 Aug 2023 06:07:47 +0200

Drew Adams <[email-masked]> writes:

> If something is somewhat like a CL construct,
> but it is intentionally different in some way
> (and not just because we've implemented only
> partial support for it), then why use the
> prefix `cl-' for it?  Why not use the prefix
> `el-' or whatever?

That would be much more confusing IMO.  `cl-flet' is not just "somewhat
like a CL construct".  "cl inspired" would be a bad description.  The
manual clearly describes the limits of the "emulation", and, as I said,
even more limiting incompatibilities do not stem from such extensions.

> Nothing says that Elisp needs to have the
> same things as CL.  But why call something
> different "CL support" or "CL emulation", and
> use the same prefix, `cl-', that we use for
> things that are really intended to emulate
> CL constructs?

The library is somewhere between an "CL emulation" and a "CL inspired
extension library".  It is hard to find a really good name and
description.

> It's like we have no guideline or map now.

Naming being hard or not satisfactory doesn't imply anything.  I doesn't
tell what we must do.  It just means it is hard to find a "perfect for
everybody" name.  That naming something is hard might mean that there is
a problem with that thing, or it might mean nothing.

> To what avail?  There's no shortage of
> prefixes and nothing forcing things with
> different purposes or natures to be in the
> same file.

Changing this prefix would cause work and trouble.  If you think it is
worth it - what's your suggestion?  "el-" is much worse.  What in `flet'
is more "Emacs Lisp"y than in `let'?  Everything in Emacs Lisp is Emacs
Lisp.  The "Emacs Lisp" version of `flet'?  Of which `flet'?  Ahh - of
the Common Lisp `flet' - but it's only 99.9% compatible, so we don't
call it "cl-".

This line of argument is not convincing me.  If a user has looked at the
documentation (one has to anyway to get a start), the "cl-" is also
hardly a source of confusion.  So I still don't see a relevant problem.

Michael.