構文糖衣
javascriptやsquirrelの関数定義は次のように書きます。
function foobar(){ return 0; }
これは、次の構文のシンタックスシュガーです。
// javascript var foobar = function(){ return 0; } // squirrel loacal foobar = function(){ return 0; }
Xtalも、やはりこのようなシンタックスシュガーを追加することにしました。
つまり、次のように書けるということです。
fun foobar(){ return 0; }
methodとfiberも同様の記述が可能です。
method meth(){ return 0; } fiber fib(){ yield 10; }
もちろんクラスも同様の書き方が許されるようになります。
class FooBar{} // FooBar: class{}と同じ
クラススコープ内ではさらに、'method'の省略も可能となります。
このシンタックスシュガーの導入により、これまで下のように書いていたクラス定義が、
FooBar: class{ _value; initialize: method(){ _value = 0; } bar: method(a, b){ _value = a + b; } }
次のようにも書けるようになるということです。
class FooBar{ _value; initialize(){ _value = 0; } bar(a, b){ _value = a + b; } }