SuperColliderの()はブロックのようにも使えるメソッドの呼び出しです。Messageとも関連がありますが、何と呼んでいいのかよくわかりません。lispのprognが感覚としては近いです。
まずはブロックとして使ってみます。SuperCollider IDEでは貼り付けた行にカーソルを合わせてCtrl+Returnで実行できます。
(a = 10; b = a * a; c = b * b; postln(c)) // 10000
メソッド名を指定すれば関数を呼び出せます。()は最後の式の評価値を返します。
postln(a = 10; b = a * a; c = b * b; c + c) // 20000
入れ子にしてみます。以下を範囲選択してCtrl+Returnで実行できます。
(postln( a = 10; c = ( b = a * a; b * b ); postln(b); // 100 c + c )); // 20000 postln(a) // 10
aからzの一文字で表される変数は、SuperColliderではグローバル変数として扱われます。
メソッド名は後ろにも書けます。
postln(100); // 100 100.postln; // 100 postln(neg(1)); // -1 1.neg.postln // -1
引数が2つ以上の場合は後ろに置けません。ただし先頭の引数は前に置くことができます。
squared(difsqr(4, 8)); // 2304 difsqr(4, 8).squared; // 2304 4.difsqr(8).squared // 2304 // (4, 8).difsqr.squared // エラー