[ボツになった構文] generator関数式
Pythonは、普通の関数の中でyieldを書くと自動的にgenerator関数となります。
Xtalはfiberを返す関数として定義する必要があるため、冗長だと思い、「generator関数式」というものの導入を考えた時期がありました。
Int::my_times: method{ return fiber{ for(i: 0; i<this; ++i){ yield i; } } } //generatorを使うと上を次のように書ける Int::my_times: generator{ for(i: 0; i<this; ++i){ yield i; } }
しかし、よく考えたら、「method expr」という記述は 「method{ return expr; }」と同じ意味となる、という仕様を入れたので、次のように書けることに気づきました。
Int::my_times: method fiber{ for(i: 0; i<this; ++i){ yield i; } }
で、generatorは不採用になりました。