From: Richard Stallman <rms@gnu.org>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: 56875@debbugs.gnu.org, eliz@gnu.org, arstoffel@gmail.com
Subject: bug#56875: 29.0.50; [PATCH] Add thread-as macro
Date: Tue, 02 Aug 2022 23:47:08 -0400 [thread overview]
Message-ID: <E1oJ5Lg-0005fq-Sm@fencepost.gnu.org> (raw)
In-Reply-To: <877d3r0x22.fsf@gnus.org> (message from Lars Ingebrigtsen on Tue, 02 Aug 2022 12:17:09 +0200)
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> + (thread-as x
> + 4
> + (- 10 x)
> + (/ x 2))
I propose a different syntax which is more Lispy than thread-as, and
more self-evident:
(let-successive ((x 4
(- 10 x)))
(/ x 2))
A Lisper can guess what it means, without having read a description.
It lends itself to a generalization where there is more than
one bound variable, each of which can have several values:
(let-successive ((x 4
(- 10 x))
(y 6
(- 12 y)))
(* x y))
=> 36
The values after the first can refer to all of the variables,
since all of them are already bound (to the previous values)
at that point.
--
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
next prev parent reply other threads:[~2022-08-03 3:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-01 17:06 bug#56875: 29.0.50; [PATCH] Add thread-as macro Augusto Stoffel
2022-08-02 3:40 ` Richard Stallman
2022-08-02 6:57 ` Augusto Stoffel
2022-08-02 10:17 ` Lars Ingebrigtsen
2022-08-02 11:24 ` Eli Zaretskii
2022-08-02 12:56 ` Augusto Stoffel
2022-08-02 13:06 ` Eli Zaretskii
2022-08-03 3:47 ` Richard Stallman [this message]
2022-08-05 7:44 ` Augusto Stoffel
2022-09-02 10:46 ` Lars Ingebrigtsen
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=E1oJ5Lg-0005fq-Sm@fencepost.gnu.org \
--to=rms@gnu.org \
--cc=56875@debbugs.gnu.org \
--cc=arstoffel@gmail.com \
--cc=eliz@gnu.org \
--cc=larsi@gnus.org \
/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.