>>6
それじゃ関数定義と関数適用(=呼出)の区別がつかないじゃん。

つーか何がしたいのかわからん。
データ形式が、プログラムを表現することもできる、ってのを考えてるの?
だったらlambdaさえあればいいわけだから、あとはC言語風に書くなら、S式の
(a b c d)
を
a (b, c, d);
って書けば終わりじゃないの?