MoonScriptはCoffeeScriptライクな記法でLuaのコードを生成するソフトウェアです。

個人的にもCoffeeScriptは好きでよく使っています。そんなCoffeeScriptにインスパイアされて開発されたのがMoonScriptです。CoffeeScriptライクな記述をするとLuaに変換してくれます。


こちらはMoonScriptのコード。確かにCoffeeScriptに似ています。


右側がLuaに展開したコード。MoonScriptのが分かりやすく、コード量も少なそうです。


関数を使う例です。


これはどちらもさほど変わらない印象です。


importという構文がサポートされています。

構文は若干拡張されている感はありますが、CoffeeScriptが書ける人であれば十分理解できるのではないでしょうか。サンプルは特化した例を記述しているとは思いますが、Luaに比べるとMoonScriptは短く、端的に書けるようです。

MoonScriptはLua製、MIT Licenseのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

MoonScriptの持つポテンシャルは相当に大きいように見えます。TitaniumやGoogleの開発するDartなどが実際のエンジンとJavaScriptとの橋渡しをするのに対して、CoffeeScriptやMoonScriptは各言語に変換するのが役割です。パフォーマンスはネイティブの実装とかわらず、コードは変換エンジンを磨くことでさらに良いものになります。

そしてCoffeeScript(または類似)の記法を学べば、JavaScriptもLuaのコードも書けるようになります。同様にRubyやPython、Perl、Objective-C版が作られれば、CoffeeScriptを習得するのがプログラミング言語習得の近道になる可能性すら秘めているのです。

MoonScript, a language that compiles to Lua

leafo/moonscript