変数定義や関数定義とか
Xtalでは変数を次の形で定義します。
variable_name : 100;
変数名 : 初期値;
という形です。
Xtalでは fun(){} という形で関数式が書けます。
ECMAScriptの function(){} と同じです。
functionは長ったらしいのでfunを採用しました。
それを変数に定義すれば、関数定義となります。
foo : fun(a, b){ return a + b; } println(foo(5, 6)); // 11
ECMAScriptでは fun foo(a, b){} という風に関数定義できますが、Xtalではあえてその形の関数定義構文を用意していません。
左に名前が揃うのが一番良いという理念のためです。
これはクラスやモジュール定義でも同様で、クラス定義は次のように書きます。
Bar : class{ foo : method(){} }
見た目の通りXtalでは、クラス定義とはクラス式を変数に定義することを指します。