アイディア(4)カリー化表現

えーと、CXP作ってて思ったんですが、

function[a($x)($y)($z)]{...}

といったように、関数を定義もできそうです。
このように関数を定義した場合は、
カリー化された関数と言う風に決めたらおもしろいかと思ったわけです。
カッコはタプルではないと。じゃあ、タプルはどうかくんだ?
って問題があるけど、【】とかをタプルにしてください。
変数に$がつくのは趣味に合わないんですが。perlみたい。最初だけ変数じゃないとしたいと
なると、、、。

function[a](x)(y)(z){...}

とかかなぁ。一番最後のカッコが定義でそれ以外はマッチングに用いると。

defmacro[for](b;c;d){e}{
  return( [|
    $b;
    while($c){
      $e;
      $d
    }
  |] );
}

とか?