以前こんな記事を書きましたが、Haxe 3.2で状況が改善したようです。 とりわけ嬉しいと思われるのは @:nativeマクロがクラスフィールドをサポート 可変長引数のサポート Union Types的な機能をサポート でしょうか。 nativeマクロがメンバ変数やメソッドにも使えるようになった @:nativeというマクロは、以前は型名のエイリアスにしか使えませんでした。そのため、利用法としてはモジュール名が大文字から始まる(Haxeではモジュール名は小文字からはじまらないといけない)というようなケースくらいにしか使えませんでした。 ところがJavaScriptでは、$記号や、catchなどの予約語をメソッドに使うなどの行為は実際チャメシ・インシデントです。 一応Haxeでも、propertyを使ってクロージャを返すような型定義をする(うろ覚え)……などの裏技で回避出来るんですが、@:o