Erlang仮想マシンの型安全でスケーラブルなシステムを構築するための言語と自己記述しているGleamは、JavaScriptにもコンパイルされるようになった。
Erlang VMの静的に型付言語であるGleamは、MLファミリーの言語にインスパイアされている。GleamはErlangにコンパイルされ、他のBEAM言語 (Erlang自体、Elixir、LFE (Lisp Flavoured Erlangなど) とのゼロコストの相互運用を誇っている。Gleamの最新リリース (v0,16) ではJavaScriptにコンパイルされるようになった。
Gleamのコアメンテナは、コンパイルターゲットとしてJavaScriptを採用した理由を次のように説明した:
Erlang仮想マシンは、サーバー上で実行される長時間実行サービスにとって他に類を見ないものですが、この分野の外では、常に仕事に最適なツールであるとは限りません。 […]
JavaScript […] は、GoogleのV8エンジンなどの高度に最適化されたランタイムのおかげで、堅牢な同時実行機能と優れたシングルスレッドパフォーマンスを備えています […]
JavaScriptにコンパイルすることで […] Gleamは、はるかに広範囲の問題空間とドメインに使用でき、より広範囲の人々がアクセスできます。GleamでバックエンドWeb APIを作成するチームは、GleamでWebサイトフロントエンドを作成することも選択できるようになりました。両方のプラットフォーム間でコードを共有し、アプリケーションスタック全体でGleamのフレンドリーで生産的な型ベースのプログラミングスタイルを楽しむことができます。
JavaScriptにコンパイルする言語の数多くあるリストの新しいメンバとして、Gleamは、アクターベースのマルチコア同時実行性、Erlangスタイルのフォールトトレランス、および代数的データ型という3つの主要な機能で差別化を図っている。
Gleamのコアメンテナは、RedditでGleamのロードマップと開発者からのコメントに回答した。特に、彼はJavaScriptへの新しいコンパイルを活用してフルスタックWebフレームワークを実験することに関心を示している:
[開発者:] これはすごいです。GleamのPhoenixのようなフレームワークを楽しみにしていましたが、今ではフロントエンドでも同じ言語が使用されているのを完全に見ることができます。
[Glaamのコアメンテナ:] フルスタックのWebフレームワークは、確かに私たちが将来探求したいものです。
開発者は、オペレーティングシステム (Linux、Windows、macOS) 用にコンパイラのビルド済みバージョンをダウンロードできる。GleamがErlangコードにコンパイルされるため、コンパイルされたGleamコードを実行するには、Erlangがインストールされていることが前提条件だ。興味のある開発者は、オンラインドキュメントで言語機能の完全な説明を確認できる。