StoryGenerator=唯のライブラリ?
id:pmoky:20050526
コメントにもあるけど、文脈にしたがって、制約事項をつけるのは唯の静的型システムだよね。CやJavaなんかのAlgol系の言語しか知らない人にとっては、id:pmokyの言っているのが型システムだというのがわかりにくいんだろうけど。
で、そういう機構は利用者が文法定義の段階で組み込むみたいなので、結局唯のライブラリになっている気がする。
あと、どうでもいいんだけどね、
pmoky 『>Initはstatic-initializerでおk そこは多分俺がメタプログラミングしてるとこですか? static-initializerが発動するのはクラスがロードされるとき、 つまりクラスが最初に出てくるタイミングなので、それだと ダメだったんです。確か。もっと早く呼び出したいので、 リフレクションで呼び出してます。』
static initializer より早く呼び出したいケースってあるんだろうか。あったとしても、それは設計を間違っているような(追記:クラスをロードせずにクラスメソッドを呼ぶことはできないので、単純におかしい。)・・・*1結局ソースを見る限りReflectionではなく、普通にcallしているみたいですが。単純にstatic initializerを知らなかったと邪推してみたり。
ついでに言えばこの文脈でメタプログラミングなんて出てくるあたり、メタプログラミングを勘違いしている予感。
*1:他のクラスのメンバを初期化したい場合ぐらいしか思いつかないが、そのケースになっている時点で何かおかしい