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

From: Drew Adams <[email-masked]>
Date: Sat, 26 Aug 2023 02:02:02 +0000

> > OK, so you don't see a problem.  Do you see
> > a reason why we would add some `cl-foobar' to
> > `cl-lib.el', if it's a function that has no
> > relation to Common Lisp?  Does it make any
> > sense to you that someone might expect it to
> > be housed elsewhere, with a different prefix
> > (or with no prefix)?
> >
> > That's all I'm trying to say here.  Let's avoid
> > stuffing non-CL stuff in `cl*.el' files.  Is it
> > necessary to clean house wholesale, moving and
> > renaming things to fix this mixup?  No.  I'm
> > not proposing disruption or extra work - just a
> > recognition of a will to avoid adding not CL
> > stuff to `cl*.el' files and giving it prefix
> > `cl-'.  Nothing revolutionary or heavy-handed
> > intended.
> 
> Sorry about mentioning flet again, but it's a good example to discuss.
> Would you want that we have cl-flet, which is an restricted version
> of the current implementation, and cl-flet*, which is like the current
> cl-flet?  Or two constructs with non-overlapping semantics?  Or was
> extending cl-flet as had been done ok for you?

I have nothing to say about `flet', `cl-flet', or `cl-flet*'.  I'm pretty ignorant of all that.

> Your suggestion sounds logical and objective, but what has "a relation to
> CL" or is "not CL" is a bit subjective, it is an individual decision
> where to draw the line.  I mean, anyone could agree with your claim but
> some may still come to other decision than you would expect.

Judgment calls, yes.  Especially if trying not
to be black-&-white, given where things are at
(not starting from scratch).  A judgment call,
but it need not be only up to an individual.
No different from having and following other
conventions, we have - e.g., wrt coding style.

Wrt any concrete change, there would presumably
be some discussion, with those closer to things
likely weighing in with more authority.

I'm only saying that AFAIK there hasn't been any
such attempt to avoid putting extraneous stuff
in `cl*.el'.  I've brought up the question in
the past wrt specific things (don't recall what),
but it wasn't thought to be important to keep
`cl-' for CL.  That approach/attitude tends to
lead to more such mix-up, not less.

It's not about perfection.  It's about having a
will/goal not to add unrelated stuff to `cl*.el'.

Not such a big deal or so hard to grasp, I think.
And doesn't require everyone to agree about each
detail.  It's about a general wish/commitment to
aim to have `cl*.el' for CL stuff.