unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Heime via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Tomas Hlavaty <tom@logand.com>, help-gnu-emacs@gnu.org
Subject: Re: Advantage using mapc over dolist
Date: Wed, 04 Dec 2024 00:57:12 +0000	[thread overview]
Message-ID: <-3kwKQazB1dAqDtLNM1WpOU7qBSV8ihsV6GWlZcVe_m5m6xqvqGB0qi4dJ6eUWftCQIAoMzD1uDWc-id5UmKa4KtJO-BHZw_MFm_22q8lwI=@protonmail.com> (raw)
In-Reply-To: <jwvy10w4akc.fsf-monnier+emacs@gnu.org>






Sent with Proton Mail secure email.

On Wednesday, December 4th, 2024 at 11:29 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:

> > > Richard was strongly opposed to the use of the CL package because of its
> > > "stepping" all over the ELisp namespace. For years, this manifested
> > > itself in the fact that use of CL within Emacs's own code was generally
> > > shunned and tolerated only with (eval-when-compile (require 'cl)),
> > > meaning that you could use CL only when it could be compiled away during
> > > byte-compilation (by macro-expansion and/or inlining). So you could use
> > > `ecase` but not `some`.
> > > How did you decide what should be renamed to cl-*?
> 
> 
> Everything that was defined in the CL library.
> 
> > Why was IF not renamed to cl-if?
> 
> 
> Because `if` was never defined in the CL library but in
> `eval.c` (and the byte-compiler).
> 
> > Why do you think CASE is CL?
> 
> 
> Because it's defined in `cl-macs.el`, i.e. in the CL library (tho this
> file now belongs to the CL-Lib library).
> 
> The renaming was motivated by very practical constraints, so there was
> very little opinion involved in which things were renamed and which weren't.
> 
> "Very little" is not the same as "no opinion", admittedly. For example,
> I did refrain from renaming `setf` and instead re-implemented it outside
> of CL-Lib, integrating it into "core ELisp".
> 
> Also, we later re-re-named things like `cl-caadr` to just `caadr`
> (i.e. integrating it into "core Elisp").
> 
> > How do you feel about code like this?
> > 
> > (defun tempo-is-user-element (element)
> > "Try all the user-defined element handlers in `tempo-user-elements'."
> > ;; Sigh... I need (some list)
> > (catch 'found
> > (mapc (lambda (handler)
> > (let ((result (funcall handler element)))
> > (if result (throw 'found result))))
> > tempo-user-elements)
> > (throw 'found nil)))
> > 
> > Do you think duplicating SOME this way is better than embracing SOME?
> 
> 
> Personally, I think it should (require 'cl-lib) and then use `cl-some`.

That was the code I wrote.  What are you talking about?  How does a simple
question end up like this, with the OP completely disregarded so you can all
argue between yourselves!
 
> > In my code I just require cl-lib and add the cl- prefix where needed and
> > live with that.
> 
> 
> Same here.
> 
> 
> Stefan



  reply	other threads:[~2024-12-04  0:57 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-01 23:31 Advantage using mapc over dolist Heime via Users list for the GNU Emacs text editor
2024-12-02  6:26 ` Tomas Hlavaty
2024-12-02 18:30   ` Heime via Users list for the GNU Emacs text editor
2024-12-02 20:41     ` Tomas Hlavaty
2024-12-02 20:50       ` Jean Louis
2024-12-02 21:21         ` Tomas Hlavaty
2024-12-02 21:41           ` Heime via Users list for the GNU Emacs text editor
2024-12-03  6:13           ` Jean Louis
2024-12-03  7:36             ` Tomas Hlavaty
2024-12-03 19:24               ` Jean Louis
2024-12-03 20:04                 ` Tomas Hlavaty
2024-12-03 20:09                   ` Jean Louis
2024-12-03 20:12                   ` Heime via Users list for the GNU Emacs text editor
2024-12-03 20:24                     ` Jean Louis
2024-12-02 20:56       ` Heime via Users list for the GNU Emacs text editor
2024-12-03 19:26         ` Jean Louis
2024-12-03 19:39           ` Heime via Users list for the GNU Emacs text editor
2024-12-03 14:11   ` Stefan Monnier via Users list for the GNU Emacs text editor
2024-12-03 14:48     ` Tomas Hlavaty
2024-12-03 16:31       ` Stefan Monnier
2024-12-03 17:00         ` Alfred M. Szmidt
2024-12-03 17:24           ` Stefan Monnier
2024-12-03 19:27             ` Tomas Hlavaty
2024-12-03 19:35               ` Heime via Users list for the GNU Emacs text editor
2024-12-03 14:59     ` Tomas Hlavaty
2024-12-03 15:40       ` Tomas Hlavaty
2024-12-03 15:57         ` Tomas Hlavaty
2024-12-03 17:11           ` Eli Zaretskii
2024-12-03 17:33             ` Tomas Hlavaty
2024-12-03 17:40               ` Eli Zaretskii
2024-12-03 17:55                 ` Tomas Hlavaty
2024-12-03 18:05                   ` Heime via Users list for the GNU Emacs text editor
2024-12-03 18:57                     ` Alfred M. Szmidt
2024-12-03 19:06                       ` Heime via Users list for the GNU Emacs text editor
2024-12-03 20:15                       ` Tomas Hlavaty
2024-12-04  5:37                         ` Alfred M. Szmidt
2024-12-03 19:42         ` Jean Louis
2024-12-03 19:54           ` Heime via Users list for the GNU Emacs text editor
2024-12-03 20:11             ` Jean Louis
2024-12-03 16:47       ` Stefan Monnier
2024-12-03 18:01         ` Heime via Users list for the GNU Emacs text editor
2024-12-03 20:05           ` Jean Louis
2024-12-03 20:35         ` Tomas Hlavaty
2024-12-03 23:29           ` Stefan Monnier
2024-12-04  0:57             ` Heime via Users list for the GNU Emacs text editor [this message]
2024-12-04  2:20               ` Stefan Monnier via Users list for the GNU Emacs text editor
2024-12-03 19:38       ` Jean Louis
2024-12-04  4:56       ` Michael Heerdegen via Users list for the GNU Emacs text editor
2024-12-02  6:59 ` Tassilo Horn
2024-12-02 10:12   ` Michael Heerdegen via Users list for the GNU Emacs text editor
2024-12-02 17:03     ` Heime via Users list for the GNU Emacs text editor
2024-12-02 18:51       ` Tomas Hlavaty
2024-12-02 20:17         ` Heime via Users list for the GNU Emacs text editor
2024-12-02 21:07           ` Tomas Hlavaty
2024-12-03 13:19             ` Tomas Hlavaty
2024-12-02 21:15         ` [External] : " Drew Adams
2024-12-02 21:58           ` Tomas Hlavaty
2024-12-02 22:42             ` Drew Adams
2024-12-03  5:49               ` Tomas Hlavaty
2024-12-03 20:08                 ` Lazy functional programming [was: Advantage using mapc over dolist] Drew Adams
2024-12-03 21:17                   ` Tomas Hlavaty
2024-12-04  4:33         ` Advantage using mapc over dolist Michael Heerdegen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='-3kwKQazB1dAqDtLNM1WpOU7qBSV8ihsV6GWlZcVe_m5m6xqvqGB0qi4dJ6eUWftCQIAoMzD1uDWc-id5UmKa4KtJO-BHZw_MFm_22q8lwI=@protonmail.com' \
    --to=help-gnu-emacs@gnu.org \
    --cc=heimeborgia@protonmail.com \
    --cc=monnier@iro.umontreal.ca \
    --cc=tom@logand.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).