[mew-dist 21565] Re: s/function/'/

Kazu Yamamoto ( 山本和彦 ) kazu at example.com
2002年 8月 29日 (木) 11:36:51 JST


From: KOIE Hidetaka (鯉江英隆) <hide at example.com>
Subject: [mew-dist 21563] Re: s/function/'/

> ;; lambdaもバイトコンパイルされる
> ;; mapcarの1st引数はfuncだと知っているから

正確にいうと、byte-compile のプリプロセスで、mapcar の第一引数が quote 
で始まっていると、function に置き換えるためです。

bytecomp.el のここです。

(byte-defop-compiler-1 apply byte-compile-funarg)
(byte-defop-compiler-1 mapcar byte-compile-funarg)
(byte-defop-compiler-1 mapatoms byte-compile-funarg)
(byte-defop-compiler-1 mapconcat byte-compile-funarg)
(byte-defop-compiler-1 mapc byte-compile-funarg)
(byte-defop-compiler-1 sort byte-compile-funarg-2)

byte-compile-funarg が、プリプロセスする関数。

P.S.

という訳で、ほとんどの場合では function は無意味です。(実際、C での実
装は quote と function はまったく同じ。)

Mew では意味がありそうなところだけ、#' (function の別名) にしておきま
した。

--かず@ようやく function を理解したやつ



Mew-dist メーリングリストの案内