classの上書き

ゲームでスクリプト言語を使うという際、
「ゲーム実行中にクラスをリロードしたい」
という欲求があると思いますが、Xtalではメンバの再定義などができないため、
それがしづらいという問題があると思いました。

ということで、Xtalで定義されたクラスを上書きできる機能を実装中です。

A: class{
  foo: method(){
    "test".p;
  }
}

a: A();

// a.p; この行間違い
a.foo; // test

// クラスを上書きする
A.overwirte(class{
   foo: method(){
     "change!".p;
   }
});

//上書き前に作ったインスタンスも上書きされたクラスを認識している
// a.p; この行間違い
a.foo; // change!

ということができるようになります。

(1/10) 追記 ソースの間違い修正