emacs-devel
[Top][All Lists]
Advanced

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

Re: Code for cond*


From: Stefan Kangas
Subject: Re: Code for cond*
Date: Thu, 25 Jan 2024 15:32:52 -0800

Alan Mackenzie <acm@muc.de> writes:

>> Now, the `pcase' macro has been with us for 14 years already, and we
>> have had plenty of time to learn its ins and outs.  It's heavily used in
>> many parts of Emacs, and many of us rely on it as a matter of routine.
>> Its success is not surprising, given that this style of pattern matching
>> is increasingly common in other programming languages.
>
> What is its "success"?  It is a failure, being accepted only by some
> Emacs hackers.

One data point is that 30% (27/90) of the packages I have installed here
use pcase.  Please have a look at GNU ELPA, NonGNU ELPA, and MELPA, if
you are so inclined, and let's not forget that it's used in core too.

This is of course not the only measure of success, but I think it says
something.

> It is difficult to learn, it may be easy to write, but is difficult to
> read, and difficult indeed to debug.

This is harder to measure objectively, but this discussion shows that
many ELisp hackers don't necessarily share that experience.

>> In summary, I recommend installing `cond*' as a new package on GNU ELPA.
>> This is a good way of exploring an alternative version of an existing
>> macro.
>
> That's just a way of ensuring it never comes to anything and just gets
> forgotten about.

Packages like `s', `dash', and many others that were never installed in
core, have become very popular, and not forgotten at all.  They have
even, either directly or indirectly, inspired some changes in core.
I think this has been overall very beneficial to the continued evolution
of Emacs.

So I happen to think that cond* would have every opportunity to become
successful if it was installed on GNU ELPA.

I'm currently discussing this issue with Eli, so I'll leave it there for
now, as I don't want to forego that discussion.  Rest assured that your
arguments have been heard, and are taken into account.



reply via email to

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