[Top][All Lists]

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

Re: What's missing in ELisp that makes people want to use cl-lib?

From: Eli Zaretskii
Subject: Re: What's missing in ELisp that makes people want to use cl-lib?
Date: Sat, 11 Nov 2023 09:55:36 +0200

> From: Michael Heerdegen <michael_heerdegen@web.de>
> Date: Sat, 11 Nov 2023 07:01:39 +0100
> My goal would be like this:
>  - keep cl-lib available to it's current extent for end users
>  - try to get unnecessary cl-lib uses out of the code base
>  - make useful cl ideas available in the core language

These are exactly our goals.  We've been doing this for years: that's
how stuff like 'when', 'unless', 'push', 'pop', and others got into
the core.

IOW, the way to make some cl-lib functionality freely available in
core is to have a similar or identical implementation in the likes of
subr.el or seq.el, using our naming convention instead of cl-FOO.
We've been doing that for many years, and we will continue doing it.
People just have to understand that this is the way.

The problem (at least my problem) is that some of the people in this
discussion don't agree with this cautious and slow approach.  They
want the unconstrained liberty of using all or most of cl-lib and its
extra libraries everywhere, and they consider any request to avoid
using these facilities an unacceptable pressure.  They basically want
cl-lib, cl-extra, etc. preloaded and always available for use,
regardless of the aspects you mention above and without any
restrictions.  So your argument is not with Po Lu, your argument is
with others.

> But I don't see a necessity to, for example, kick keyword support out of
> reach for the Emacs code base because, there are still, few, use cases
> where it fits.

We use keyword arguments when there are many of them, or when a few of
them are obscure and rarely used.  From where I stand, the dispute is
not about banishing then -- that will not happen -- the dispute is
about how _much_ to use them.

reply via email to

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