luaよ、reallocは無いでしょう...

某飲み会で聞きました。その後周りの人がいろいろ知っていました。すでに常識?

http://www.lua.org/

lua というのは組み込み用言語ってヤツで、アプリケーションの中身を外部スクリプトからいじくりたい時に、使える言語です。簡単な作業で、lua を外部スクリプトとして組み込むことができます。要するにゲームで言ういわゆる「スクリプト」が簡単に使える(組み込める)時代になったわけです。

やっぱりゲームからの注目も熱いようで、

http://www.gamedev.net/reference/programming/features/lua/

等のように、gamedev に記事もあったりします。

● 評判

  1. 小さい
  2. 速い

の評判は磐石なようですが、どうも

  1. インターフェースがよくない
  2. reallocを使っている

という話が出てきました。

● 1.について

インターフェースが良くないというのは、どうも、関数の引数をスタックを直接見て受け取らなければならないのに、luaがスタックをどう扱っているのかについての情報が無い。コンテキストが複数もてない(つまり、中断ができない)。などなど...だそうです。
calua っていうこの問題を解決する(らしい)ライブラリもあるんですが、X86インラインアセンブリのおまけつきです。だれか、MIPS系に書き直してくれる人いませんかのぉ?
なんか、このluaってヤツがこの分野だと一番の有名どころらしく、こいつにパッチを当てようという動きが盛んなようです。

● 2.について

確かに ver 5 を落として grep すると...realloc ありますねぇ...。これだけは、いただけないなぁ。

● 似たようなもの

small
http://www.compuphase.com/small.htmにあった。調査中。
io
luaより少し重いらしい。python/perlぐらい速いらしい。オブジェクト指向はいらないので、僕はパス...。でも、楽らしい。

非常に興味がある分野なので、今後も書いていきます。