うん。LISP とはちょっとちがう。(1 + 2 + 3 + 4) を書きたいんですよ。


それから思ったんだけど、QUOTE はやっぱり A 案で行かなければいけない気がした。
A 案だと、object に QUOTE がついていてもいなくても、一部メソッドを除けば同じ風に実行されるはずだし。

>> ( expr: '(1 + 2) )    # スロット expr に '(1 + 2) を代入
'(1 + 2)
>> ( expr head )
'1
>> ( expr tail )
'(+ 2)
>> ( expr self )
3

が違和感無いかどうかが問題になってくるけど。