カリー化かぁ・・・まあやろうと思ってできないことはないかな?
でも見かけの文法は C++ や Java 風なので使いでがあるかどうか(笑)
関数宣言と関数呼び出しが一致していることを要求しない仕様になってるから、
myfunc( x, y) に対して myfunc( x) とか myfunc( x, y, z) とか、
どの呼び出しもオッケーになる。呼び出された側で引数の数もチェックできる。
仮引数リストにない引数は
組み込みの parameters なんてオブジェクト経由で取得できる。
関数はそもそもオブジェクト化されてるので、
parameters を通じて得られた引数の数が仮引数の個数より少ない場合に
仮引数の一部を束縛した、新しい関数オブジェクトを作るという格好で実装できそう。
コンパイラに少し細工すればできるとは思うけど・・・要るもの?(笑)