Curry

ちなみになんでこんな物触っているのかというとなんとなく関数のcurry化、まあつまりクロージャしたいなあと思ったからです。
何か上のが (動作が謎い|文法微妙) で気に食わないので適当にでっちあげてみた。

import std.c.stdio;

class Curry{
    this(int x0){
        x = x0;
    }

    void opCall(int y){
        printf("x + y = %d\n", x + y);
    }

private:
    int x;
}

void main(){
    Curry f = new Curry(1);
    f(2);
}

なんというか、酷い。