Ioという言語
この週末、Ioについて調査していました。Ioとは何かっていうのはMatzさんの書いた「るびま」という記事が非常に参考になります。
まあ、一言で言うとプロトタイプベースのJavaScriptに通じる言語なんですが、徹底の仕方が半端ではないため、非常に文法がシンプルなのです。このシンプルな文法というというのが味噌で、それこそ私が今欲しているモノなのです。まあ、パーサや構文木の容量を小さく抑える必要があるというのが、その狙いなんですが。
実装もまだコンパクトなので、なんとか追えなくはなさそうということもあり、ひたすらCのソースを読んでました。何となくつかめては来たんですが、メソッド呼び出し行為がCallというオブジェクトで表されていたり、その中身にメッセージとして引数が詰められていたりと、内部構造も徹底してオブジェクトなので、理解に時間がかかってしまいます。
で、とりあえずこれをバイトコード的に実行できるよう簡単なVMを書き始めて見ました。とりあえずVM,Thread,Frameあたりから。ちまちまと。
ちなみにIoのサイトはこちら。部分訳もあります。