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
next prev parent 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
* 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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.