[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Installing cond* in core
|
From: |
Dmitry Gutov |
|
Subject: |
Re: Installing cond* in core |
|
Date: |
Sun, 28 Jan 2024 18:54:18 +0200 |
|
User-agent: |
Mozilla Thunderbird |
Hi Alan,
On 28/01/2024 16:32, Alan Mackenzie wrote:
But if pcase were so good, why is Richard writing a better replacement?
It all started with some people not understanding what pcase does and
how it works.
I don't think that's true. People understand how it works. Enough
people have difficulty reading and debugging pcase and its numerous
variants to matter.
Richard explicitly asked a number of questions about what it does and
how it works. A number others also expressed confusion about it, what
the syntax means and how to interpret it.
We're yet to see whether cond* is any better in those areas.
This is true, but it's highly likely cond* will be better. It's being
designed by an expert designer, and has been through a phase of open
comment and revision. Also, it takes advantage of the experience of
pcase.
A new macro that went through a few rounds of revision with no real
consumers yet vs a macro that's been in use for 14 years.
Have you actually tried it yourself? E.g. to rewrite some code
conversion logic that you urge to replace?
[ .... ]
That's not the way things happened. pcase was simply installed in
Emacs, with all its faults, and then proliferated round Emacs. Where
was the room for discussion? Discussion is difficult after something
has already been done.
We're doing it all the time by commenting on commits in an email to
emacs-devel.
To have been effective, such comment would have resulted in the removal
or fundamental alteration of pcase long after it had been ground into the
core of Emacs. That just wasn't going to happen.
You weren't there at the time. I was. I was completely unaware of pcase
happening, and it was a shock being confronted by it for the first time.
If you weren't aware, then you weren't working on that area of code, right?
If you're trying to say that pcase is better than nothing, so people use
it, then I'd agree. But if you're trying to insist it's as good as it
could be,
One does not need to insist on that to disagree with your original
statements.
You cannot disagree with my original statement made last night. As I
said, you weren't there at the time.
I don't have to insist it's as good as it could be to object to throwing
it out.
I'd ask you why Richard is spending a lot of time crafting a
better replacement.
Rewriting other people's code that one doesn't understand has a long and
varied history in software development. We even have a term for it.
You're suggesting in that paragraph that the fault lies in Richard's lack
of ability. That's uncalled for. He has trouble reading and
understanding code written with pcase, as do I, and as do others here.
The fault is in pcase; it is flawed. At the same time, it is not doubted
that there are people here fully conversant with pcase. Having such a
split in the project is a bad thing.
Having trouble with doing something is the literal definition of lack of
ability.
Not the lack of talent, mind you, or potential, but insufficient
understanding and skill with that tool (destructuring pattern
matching--which is not unique to Elisp and has carryover from a number
of other programming languages) is what motivated this whole argument.
And I'm really skeptical that when cond* goes through all the additional
revisions and gets as powerful as pcase, that it won't raise all the
similar questions. But I guess we shall see.
Re: Installing cond* in core, Eli Zaretskii, 2024/01/28
- Re: Installing cond* in core, Alan Mackenzie, 2024/01/28
- Re: Installing cond* in core, Dmitry Gutov, 2024/01/28
- Re: Installing cond* in core, Alan Mackenzie, 2024/01/28
- Re: Installing cond* in core, Dmitry Gutov, 2024/01/28
- Re: Installing cond* in core, Alan Mackenzie, 2024/01/28
- Re: Installing cond* in core,
Dmitry Gutov <=
- Re: Installing cond* in core, Alan Mackenzie, 2024/01/28
- Re: Installing cond* in core, Eli Zaretskii, 2024/01/28
- Re: Installing cond* in core, Dmitry Gutov, 2024/01/28
Re: Installing cond* in core, Richard Stallman, 2024/01/29
Re: Installing cond* in core, Eli Zaretskii, 2024/01/28
Re: Installing cond* in core, Alan Mackenzie, 2024/01/28
Re: Installing cond* in core, Eli Zaretskii, 2024/01/28
Re: Installing cond* in core, Richard Stallman, 2024/01/29
Re: Installing cond* in core, Emanuel Berg, 2024/01/28
Re: Installing cond* in core, Stefan Monnier, 2024/01/27