C言語で
int x = x;
int y = y + 1;
という変数定義をすると、xやyは不定値となります。
Xtalも同様の仕様でしたが、これで嬉しいことは何もないので、「変数定義の右側で同名の変数が出てきた場合、外側のスコープの変数を見る」という仕様に変更することにしました。
x: 10;
{
x: x + 1;
x.p;
}
ただし、変数定義の右側であっても、関数式の中で同名の変数が出てきた場合はそうはなりません。
x: 555;
{
x: fun(){ return x; }
x().p;
}