Featherweight Ruby

さっき、1500件くらいたまってたGoogle Readerの未読を消化してて見つけたんですけど。

http://alohakun.blog7.fc2.com/blog-entry-651.html

セマンティクスの定義も無いので理論系の人からは無視され、目新しい言語機能があるわけでもないのでそれ系(なんと言ったらいいかわからない)の人からも無視され、実装もへぼいので実装系の人からも無視される、という不遇の言語ですからね。もちろん、「丁寧に言語仕様を定めて、それをきちんと実装する」ということの価値は薄れるものではありません。良くも悪くも、まつもとさんという一人の天才が作り上げた作品だと思います。

さて。

Rubyの仕様をフォーマルに書くことはできると思います。でも俺はやりたくないw。なぜかというと、(多分)型システムの観点から見て、面白い性質が言えるようなサブセットを定義するのが不可能||ものすごく難しそうだから。

とりあえず、あからさまに型付けが無理そうなやつとしては、Array#mapとか?*1

あとは、まあ、型システムの研究者の興味としては、もう型書いちゃえばいいじゃんn、という方面に向いているような印象を受けているのです。そういうわけで、今後劇的な発展が見込めるということもないんじゃないかなぁ、というのもあったりなかったり。RubyOCamlとかHaskellとか級にメジャーになれば、みんな血眼になって研究するかもしれませんが。あ、でもJavaScriptでなんかやってる人はいるみたいなので、なんか出てくるのかもしれません(よく知りません
)。





FRとかいうディレクトリが~の下にあったりするのは内緒です。

*1:それにしたって、まあ、実用上は有限回展開しておけばOKじゃない?という話ですけど