娘が「おばあちゃんに会いたい」と言うので昼食を両親と一緒に。敬老の日なので、なのかな。母親にうっかり「おばあちゃん」なんて声をかけようものなら、あんたのおばあちゃんじゃないと怒られてしまうのだけど。今時の60代はあんまり年寄りに見えないよね。この写真の中の祖母はほんとうに「おばあちゃん」って感じだった。今計算すると当時の祖母は今の母よりも若いことになる。うーむ、白黒写真や和服のせいではないと思うのだが。今日は体重のことはあまり考えないでおこう。昼食後は子供を連れて公園に。遊んだら、すっかり疲れてしまった。マクロについての議論が続いている。よそで議論するのもなんなので、こちらにもって来よう。(笑)もっとも、これはフェアな比較ではないと思う。パラダイムと言語の一機能を同格にするべきではないからだ。ユーザビリティの観点からのトレードオフを明らかにしたいだけだ。Lispマクロの利点については理解しているつもりだ。C)どうしてもマクロでなければできないことというのは実はあまり無いという点がある。いずれかを選べと言われたら、私はマクロをあきらめて普通の構文を選ぶ。ここでshelarcyさんはこう来る。エディタのようにソースはS式だけど表現上は別の記法でそのまま編集できるのモードとS式で表示・編集できるソースモードを切り替えて使うことのできるエディタなどを想定して、そういうものがあれば受け入れられるかどうかという議論がなされないと実質的なユーザビリティから乖離してしまう恐れがあります。本当はテストした方がいいのですが。おっしゃることはもっともだ。私は言語屋なので言語そのものに強くこだわってしまう傾向があるのを見透かされている。私に「言語はその記法が重要である」という原則を教えてくれているように思う。ここであげられたようなツールではマクロとユーザビリティの両立は難しいのではないだろうか。マクロが役に立つケースのかなりの割合は、高階関数で実現できる。ある程度支援しているつもりだ。イテレータなどで工夫しているなと思うのですが、繰り返し以外の用途でイテレータを使っている例などを見ると、マクロっぽい使い方をしているように思えるのですが、...というotaさんのツッコミは鋭い。lerpといったマクロやグローバルな束縛が定義されたとしても、このプログラムの意味は変わりません。farという識別子が予約語に追加されたとたん、上のようなプログラムは破綻しますと予約語の増加とマクロを比較しての優位性を述べておられる。比較の対象にはならないのではないかと。その前に述べておられるプログラムの読みやすさ、書きやすさを決めるひとつの重要な属性は、あるプログラム片を目にしたときに、その意味に影響を与える範囲が限定され得るということ、したがってその範囲さえ見ていれば、プログラム全てに目を通さなくてもそのプログラム片の持つ意味が完全に理解できること、だと思います。いう意見には完全に同意する。今後もこの原則は心にとめて行きたい。一応ちゃんと終わりそうです。あとふたつほど残ってますが、これもなんとかなるでしょう(希望的観測)。E-mailアドレスは公開されません。