米Facebook、Hackコード生成ライブラリ「Hack Codegen」を公開

 米Facebookは8月20日、Hackコードを自動生成するためのライブラリ「Hack Codegen」のコードを公開した。これを使ってHackコードを生成し、署名ファイルに書き込むことで意図しない修正を防ぎ、質の高いHackコードを書くことができるという。

 HackはHHVM(HipHop Virtual Machine)で動作するFacebookのプログラミング言語。Hack CodegenはこのHack向けのコード生成ライブラリとなる。自動コード生成を利用することで、開発者は宣言的なフレームワークを持つことができ、コードの抽象度を高くできるという。Facebook社内ですでに利用されており、成果を実感したことからオープンソースとして公開することにしたとのこと。ライセンスはBSDライセンス。

 Hack Codegen開発の背景として、コード生成にあたって文字列に集中することでは規模の拡張が測れないという認識があったという。当時はコード生成を利用しておらず、良いツールがあまりなかったために、高レベルでの抽出を可能にするライブラリを作成することにしたと説明している。

 連結、新しい行、インデント、hackキーワード、コレクションなどの処理を行うhack_builderを中核に持ち、ファイル署名によりスキーマ変更時に自動でコードを再生成できるようにした。開発者はこれを利用して問題を記述して対応するコードを生成するなどのことができるという。

 Hack CodegenはGitHubより入手できる。利用にはHHVMとComposerが必要。

Hack Codegen
https://github.com/facebook/hack-codegen