作者: 機械伯爵
日時: 2009/3/4(13:29)
 初心者ブースに書こうか、雑談ブースに書こうか迷ったのだけど「教えを請う」な内容なのでココで。
 で、聞くのがいきなり「初心者無用」のマクロ。
 マクロ、という言葉の一般定義になるとわけわからん(アセンブル言語のマクロとExcelのマクロは流石に違う)ので、「関数などが定義できる言語で、あえて関数と書かずにマクロと書いているもの」って何? を、どなたか教えて下さい。
 私は「呼び出す」関数に対し「マーキングしてあるトコロにコードを広げる」つまり「そっくりそのコードが書いてあることに『する』」のがマクロだ(C言語で言うところのマクロは確かコレの筈)と思ってたのですが、Common LispやらSchemeやらの本を読んでたら、だんだんわかんなくなりました。
 ……っていうか、具体的に言えばPythonでeval関数やexec関数使うのって、そのまま『マクロ』と呼んでいいのでしょうか、というお話(コレ切ろうと思えば、名前空間を切り離したブロックとして実行もできるので)
 以前に思いっきり『これがマクロだ!』とかブログに書いていた人間が言う言葉ではないのだけど……

 /機械伯爵/来年度の仕事、調整中/