emacs-devel
[Top][All Lists]
Advanced

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

Re: dash.el [was: Re: Imports / inclusion of s.el into Emacs]


From: Alfred M. Szmidt
Subject: Re: dash.el [was: Re: Imports / inclusion of s.el into Emacs]
Date: Fri, 08 May 2020 14:31:35 -0400

   Finally, dash just adds a lot of things ready rolled. If the history of
   programming languages tells us anything at all, it is that languages
   tend toward higher and higher levels. Emacs could do with more of this.

I think Emacs already does that; only that the POV is just different.

The way we manipulate buffers doesn't lend it self easily to a
`functional' paradigm -- consider only forward-char!

   Consider:

   (while (re-search-forward "foo[ \t]+bar" nil t)
      (replace-match "foobar"))

   from the documentation. And, if you want to not nobble the user facing
   location of point

   (save-excursion
     (while (re-search-forward "foo[ \t]+bar" nil t)
       (replace-match "foobar")))

   And, don't forget to beware what you are searching for and what you are
   replacing. Because if point does not advance, you'll loop for ever.

   I don't want to have to remember all of this.

I find both forms easy enough, they are easy to understand and easy to
write.  I barley need to understand what each of those functions do to
understand what the code does.  I don't see how dash.el or s.el could
make the above easier to grok (one reads code more than writes it).

What do you suggest as the alternative?

   >    > or what to use it for.
   >
   >    Well, you use it if you want to program in a Clojure-like style.
   >
   > Isn't that the crux then? 
   >
   > I as a user want to program in an Emacs Lisp style, not Clojure-style.

   Emacs lisp is not a constant, of course. One of the joys of lisp having
   very little syntax it is possible to re-invent for different
   generations. Many people do find 

End of sentence missing?

I disagree that Lisp lacks syntax (it has probobly more of it than
other languages) or that one should `re-invent' things.  But that is
more of a philosophical debate than anything.

   > As a user, I found many of the functions to have alien names, strange
   > behaviour and very unintuitve to use in the style that is Emacs lisp
   > (Classical Lisp?).  But some functions seem useful, though with
   > non-Emacsy names and calling conventions.

   Yes, this is true. seq.el does a better job there. But, again, it
   assumes we cannot re-invent Emacs. The question is whether we
   should. 2million downloads for dash.el tells me many users think the
   answer is yes.

I don't know what it means to re-invent Emacs, or what it would entail
so that is making a leap of faith into an abyss of unknowns.  

What I do know is that "millions of downloads" is not good metric of
what is good, e.g. many more people download non-free software than
free software.

We do not know, or so I assume, how many of those supposed millions
activley use dash.el, or if it is simply a dependency that is
automatically pulled in by some other package.

And even so, it doesn't automatically mean that it would be a good
addition to Emacs -- such things shouldn't be decided only based on
popularity.



reply via email to

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