主にnewの話。抜けありまくりで荒いメモ書き。間違いもあるかも。
二項演算はCベースで。単項演算はfoo(x)とする。例えばnew Xならfoo = new, x= Xという感じに。
後置の場合も結合の演算子は無しとする。
後置の場合(強い結合。Rubyのnew・D、Java、C、C++などのプロパティ・Delphiのポインタ参照)。
a foo // xが単項 (a+b)foo // xが複数項
前置の場合(強い結合。Javaのnew・C、C++、Dのポインタ参照)。
foo a // xが単項 foo(a+b) // xが複数項
後置の場合(弱い結合)。
a foo // xが単項 a+b foo // xが複数項
前置の場合(弱い結合。C++、Dのnew・Rubyの関数呼び出し)。
foo a // xが単項 foo a+b // xが複数項
問題は前置と後置が入り混ざったとき。なるべく前に戻って書き込まなくてはならない括弧を無くすのと、改変しやすさを維持するにはどうすればいいか。後、使える記号の数が限られてる問題がある。
Dのコミュニティでもポインタやnewの構文などの提案の形で議論(?)されているが、あまり深く突っ込んだものは無いような。
ってことで後で深く考える予定。今日は眠い。