mapcar2dolist
NAKAJIMA Mikio
minakaji @ osaka.email.ne.jp
2001年 3月 12日 (月) 12:21:00 JST
At 12 Mar 2001 09:23:51 +0900,
Katsumi Yamaoka wrote:
> 中島さん> これ、bug-gnu-emacs @ gnu.org あたりに投稿するともっと色々コメ
> 中島さん> ントがもらえて楽しいかもしれませんね。
>
> それって二回ばかり出したことがあるけれど、講読はしていないんです。
> ;; あんな話題でもいいんですか? (^^;;)
the GNU Emacs Lisp Reference Manual wrote:
> If you write a function that you think ought to be added to Emacs
> under a certain name, such as `twiddle-files', don't call it by
> that name in your program. Call it `mylib-twiddle-files' in your
> program, and send mail to `bug-gnu-emacs @ gnu.org' suggesting we add
> it to Emacs. If and when we do, we can change the name easily
> enough.
とありますので、この機能を追加すべきだ、という主旨なら良いのではないで
しょうか。ぼくも講読はしていませんが、過去にバイトコンパイラー、オプティ
マイズ関係の話題を投稿した際は、結構沢山のコメントをもらえました。
> 小林さん> Emacs 21 からは mapc が built-in になったので, side effect
> 小林さん> だけが目的の mapcar は mapc に書き換えるというのが筋じゃない
> 小林さん> かなぁ...
>
> 小林さん> ;; mapc を持たない Emacsen に対しては APEL が mapc を提供す
> 小林さん> ;; る, と.
>
> 昔 cl 今 built-in というくくりで APEL にまとめるのも良いかもしれません
> ね。Emacs 21 では他にもいろいろ便利なものができているので、目移りしま
> すが。
昔、tm-ja に投稿して守岡さんに却下されたコード (却下の理由はポータブル
なコーディングには map* を使うべきでない、ということでした) を SKK の
中に未練がましく残していたのですが...
(defun-maybe mapc (function sequence)
"Apply FUNCTION to each element of SEQUENCE.
SEQUENCE may be a list, a vector, a bit vector, or a string.
--- NOT emulated enough, just discard newly constructed list made by mapcar ---
This function is like `mapcar' but does not accumulate the results,
which is more efficient if you do not use the results."
(mapcar function sequence)
sequence)
実は昨日投稿しようとした際、mapcar を使わずに mapc をエミュレートできな
いかとふと思い、投稿を中止したのですが、考えてみると、mapcar を使って
いてもコンパイル時に mapcar2while.el が while loop に展開してくれるか
ら、このまま APEL に入れてしまっても良いかな?
ついでにこんなものもありましたが...。
(defun-maybe mapvector (function sequence)
"Apply FUNCTION to each element of SEQUENCE, making a vector of the results.
The result is a vector of the same length as SEQUENCE.
SEQUENCE may be a list, a vector or a string."
(vconcat (mapcar function sequence) nil))
--
中島幹夫 <minakaji @ osaka.email.ne.jp>
<m-nakajima @ descente.co.jp>
http://www.asahi-net.or.jp/~gy2m-nkjm/
More information about the APEL-ja
mailing list