From: Drew Adams <drew.adams@oracle.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>, help-gnu-emacs@gnu.org
Subject: RE: How to avoid compiler warning `unused lexical variable' for `dolist' or `dotimes'?
Date: Fri, 8 Jan 2021 09:22:51 -0800 (PST) [thread overview]
Message-ID: <dc55d843-24fa-4f23-a1aa-19f9f8db7969@default> (raw)
In-Reply-To: <jwvpn2gjdum.fsf-monnier+emacs@gnu.org>
> FWIW, I remember that I used to like `do*` back when I was programming
> in Common Lisp, but nowadays I find it rather inscrutable.
I agree with your last phrase, and I was never a fan of `do*'.
> In that category I think Scheme's named let is infinitely superior: both
> more general and easier to understand. Too bad that it's kind of a pain
> to implement efficiently in ELisp, but Vincent's `recur-let` gives
> a pretty good approximation (still more general and easier to understand
> than `do*`).
> (c.f.
> https://urldefense.com/v3/__https://github.com/VincentToups/recur__;!!GqivPVa
> 7Brio!LHaFHC2fIL6O-KnVleahtiHtmmkLRwamJMjoe9mglmjt2ncWgr0mSNs9uMVnhdAd$ ).
Sure. It can be useful to move recursion to iteration
under the covers, or even above the covers through the
idiom of using an accumulator.
Elisp has a long way to go, in terms of doing such
things under the covers. Put differently, doing such
things is not something new in software engineering.
I guess Elisp hasn't had the necessary itch-scratchers
or the felt need. For much (most?) user use of Elisp,
performance isn't particularly important. The story
is different for other Lisps, like Common Lisp, which
have more general use.
> > There's nothing particularly odd, new, or unlispy
> > about such design. It's very old in Lisp iteration.
>
> Old doesn't mean good.
Right. Nor does new. Or young.
There's still room for Elisp to learn from Common Lisp
(and, as you point out, from elsewhere).
next prev parent reply other threads:[~2021-01-08 17:22 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-07 7:58 How to avoid compiler warning `unused lexical variable' for `dolist' or `dotimes'? Jean Louis
2021-01-07 10:03 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-07 11:00 ` Jean Louis
2021-01-07 10:07 ` Philipp Stephani
2021-01-07 10:07 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-07 11:06 ` Jean Louis
2021-01-07 11:23 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-07 11:12 ` Jean Louis
2021-01-07 11:33 ` Philipp Stephani
2021-01-07 11:35 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-07 16:05 ` FW: " Drew Adams
2021-01-08 1:04 ` Jean Louis
2021-01-08 2:26 ` Stefan Monnier
2021-01-08 2:39 ` Jean Louis
2021-01-08 2:45 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 2:50 ` Jean Louis
2021-01-08 3:36 ` Stefan Monnier
2021-01-08 2:52 ` Jean Louis
2021-01-08 3:08 ` Drew Adams
2021-01-08 3:31 ` Stefan Monnier
2021-01-08 2:19 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 0:58 ` Jean Louis
2021-01-08 1:08 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-07 15:38 ` Stefan Monnier
2021-01-08 1:03 ` Jean Louis
2021-01-08 2:21 ` Stefan Monnier
2021-01-08 2:21 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 2:38 ` Jean Louis
2021-01-08 3:39 ` Stefan Monnier
2021-01-08 4:09 ` Jean Louis
2021-01-08 5:13 ` Stefan Monnier
2021-01-08 5:38 ` Robert Thorpe
2021-01-08 6:22 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 7:10 ` Stefan Monnier
2021-01-09 18:57 ` Tomas Hlavaty
2021-01-09 19:01 ` Stefan Monnier
2021-01-10 9:20 ` Tomas Hlavaty
2021-01-10 14:52 ` Stefan Monnier
2021-01-11 22:23 ` Tomas Hlavaty
2021-01-08 5:40 ` Jean Louis
2021-01-08 7:14 ` Stefan Monnier
2021-01-08 8:28 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 11:07 ` tomas
2021-01-08 12:38 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 13:13 ` tomas
2021-01-08 13:31 ` Philipp Stephani
2021-01-08 13:35 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 13:47 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 13:15 ` Philipp Stephani
2021-01-08 13:31 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 14:03 ` tomas
2021-01-09 7:55 ` Jean Louis
2021-01-09 13:15 ` Leo Butler
2021-01-09 14:02 ` Philipp Stephani
2021-01-09 23:06 ` Leo Butler
2021-01-09 23:14 ` Stefan Monnier
2021-01-11 12:53 ` Leo Butler
2021-01-11 15:03 ` Stefan Monnier
2021-01-08 3:03 ` Drew Adams
2021-01-08 4:40 ` Stefan Monnier
2021-01-08 17:22 ` Drew Adams [this message]
2021-01-08 4:48 ` How to get plist properties list? Jean Louis
2021-01-08 5:20 ` Stefan Monnier
2021-01-08 5:46 ` Jean Louis
2021-01-08 6:50 ` Stefan Monnier
2021-01-09 7:54 ` Jean Louis
2021-01-09 9:27 ` tomas
2021-01-09 10:41 ` Jean Louis
2021-01-09 16:57 ` Stefan Monnier
2021-01-12 20:32 ` Jean Louis
2021-01-12 21:23 ` Stefan Monnier
2021-01-08 0:57 ` How to avoid compiler warning `unused lexical variable' for `dolist' or `dotimes'? Jean Louis
2021-01-07 15:35 ` Stefan Monnier
2021-01-08 1:02 ` Jean Louis
2021-01-08 1:12 ` Emanuel Berg via Users list for the GNU Emacs text editor
2021-01-08 2:08 ` Jean Louis
2021-01-08 2:26 ` Emanuel Berg via Users list for the GNU Emacs text editor
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=dc55d843-24fa-4f23-a1aa-19f9f8db7969@default \
--to=drew.adams@oracle.com \
--cc=help-gnu-emacs@gnu.org \
--cc=monnier@iro.umontreal.ca \
/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.