OCamlでJavaScriptコードが書ける「BuckleScript」が登場

 米Bloombergは9月1日、OCamlのコードをJavaScriptのコードにコンパイルする「BuckleScript 1.0」を発表した。同種のコンパイル型言語であるTypeScriptと比べて10倍高速にコードをコンパイルできるという。

 BuckleScriptは、TypeScript、BabelJSなどに着想を得て、読みやすさと既存のJavaScriptライブラリへの統合のしやすさを重視して開発されたもの。フランスの国立情報学自動制御研究所(INRIA)で開発された関数型言語「OCaml」コンパイラのJavaScriptバックエンドで、スムーズな統合とクリーンなコード生成が可能という。生成されたコードは解読がしやすい上に軽量としている。ライセンスはLGPL。

 開発チームはTypeScriptより優れている点として、OCamlが型システムや強固な型推論を持つ点を挙げている。ネイティブコード、JavaScript、ユニカーネルにコンパイルできる点、オブジェクト構造的な型システムのネイティブサポート、JavaSciptオブジェクトをネイティブにモデルできるFFI(Foreign Function Interface)など、OCamlの長所を利用できる。

 コンパイル速度も速く、内部ベンチーマークテストではコンパイル時間がTypeScriptより10倍高速と報告している。これについても、OCamlの高速なネイティブコード処理が起因しているという。

BuckleScript
https://github.com/bloomberg/bucklescript