From: Reiner Steib <4.uce.03.r.s@nurfuerspam.de>
Subject: Re: Using CL in Gnus
Date: Thu, 27 Nov 2003 23:41:31 +0100 [thread overview]
Message-ID: <v9wu9lmo2s.fsf@marauder.physik.uni-ulm.de> (raw)
In-Reply-To: <m3llq2q5ze.fsf@hamster.pflaesterer.de>
On Wed, Nov 26 2003, Karl Pflästerer wrote:
> On 26 Nov 2003, Reiner Steib <- 4.uce.03.r.s@nurfuerspam.de wrote:
>
>> Do I understand the docs correctly, that mapc and mapcar _only_ differ
>> in the result they give, but not in the side effects?
>
> No they differ more. `mapc' can take an arbitrary number of sequences
> as arguments `mapcar' only one.
I don't doubt your explanations, but I don't understand it from the
doc-strings (GNU Emacs 21.3):
,----[ C-h f mapc RET ]
| mapc is a built-in function.
| (mapc FUNCTION SEQUENCE)
|
| Apply FUNCTION to each element of SEQUENCE for side effects only.
| Unlike `mapcar', don't accumulate the results. Return SEQUENCE.
| SEQUENCE may be a list, a vector, a bool-vector, or a string.
`----
,----[ C-h f mapcar RET ]
| mapcar is a built-in function.
| (mapcar FUNCTION SEQUENCE)
|
| Apply FUNCTION to each element of SEQUENCE, and make a list of the results.
| The result is a list just as long as SEQUENCE.
| SEQUENCE may be a list, a vector, a bool-vector, or a string.
`----
> Furthermore IMO if you read `mapc' you know a function is used only
> for the side effects it has; on the other hand `mapcar' shouldn't be
> used for side effects IMO.
Thanks for your explanations. Is this the case in the examples of
mapc from gnus.el and gnus-agent.el?
>> check if we could use mapcar instead of mapc in gnus.el and
>> gnus-agent? IMHO we should replace them, if there's no disadvantage.
>
> Better check for the Emacs version and provide a macro. People have to
> read code and the meaning of mapc is different from the one of mapcar.
>
> [...]
>> To make clear that the code in Gnus 5.10 _should_ not use mapc (beside
>
> I don't understand your point here.
Well, if programmers see mapc at many places in Gnus code, they might
be tempted to use it without thinking about possible alternatives
(alternatives w/o using CL functions). But -as we are in feature
freeze- we will not have a significant amount of _new_ code. Thus
_if_ there is no disadvantage in using mapcar in gnus.el and
gnus-agent.el (only 4 occurrences in total, see above) we _may_
replace them instead of providing a "compatibility hack".
Maybe it's better if I cease this thread, because I'm sure you and
Katsumi know much more about this (not being ironic at all here!) and
he did the right thing.
Bye, Reiner.
--
,,,
(o o)
---ooO-(_)-Ooo--- PGP key available via WWW http://rsteib.home.pages.de/
next prev parent reply other threads:[~2003-11-27 22:41 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-24 23:29 gnus-agentize versus emacs 20 mapc Kevin Ryde
2003-11-24 23:57 ` Katsumi Yamaoka
2003-11-25 3:45 ` Kevin Greiner
2003-11-25 4:18 ` Katsumi Yamaoka
2003-11-25 21:47 ` Kevin Ryde
2003-11-26 2:13 ` Katsumi Yamaoka
2003-11-26 11:34 ` Using CL in Gnus (was: gnus-agentize versus emacs 20 mapc) Reiner Steib
2003-11-26 12:23 ` Using CL in Gnus Katsumi Yamaoka
2003-11-26 17:38 ` Reiner Steib
2003-11-26 19:46 ` Karl Pflästerer
2003-11-27 22:41 ` Reiner Steib [this message]
2003-11-28 16:30 ` Karl Pflästerer
2003-11-28 17:08 ` Jesper Harder
2003-11-29 8:04 ` Miles Bader
2003-11-29 9:10 ` Jesper Harder
2003-11-29 12:37 ` Miles Bader
2003-12-01 21:23 ` Ted Zlatanov
2003-12-01 22:54 ` Katsumi Yamaoka
2003-11-30 13:22 ` Using CL in Gnus (was: gnus-agentize versus emacs 20 mapc) Per Abrahamsen
2003-11-28 21:31 ` gnus-agentize versus emacs 20 mapc Kevin Ryde
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=v9wu9lmo2s.fsf@marauder.physik.uni-ulm.de \
--to=4.uce.03.r.s@nurfuerspam.de \
--cc=reiner.steib@gmx.de \
/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 NNTP newsgroup(s).