Edward Kmett氏、GHCのCoreをJVM上で動かす「Turbo Haskell」を開発——GHC自身のJIT実行も実現
Edward Kmett氏が、GHC 9.14.1の全prim-opを実装し、GHC CoreをJVM上でJIT実行する「THC(Turbo Haskell)」を公開した。Truffle/GraalVMを基盤に、Template HaskellやLinear Haskellにも対応。PythonやRubyなどへのpolyglot FFI、Project Loomによる軽量スレッド、SIMD、末尾呼び出し最適化などを備え、pandocやhappy、alex、さらにはGHC自体のコンパイルも可能にした。ベンチマークではGHC比で約10〜20%遅い程度に収まるという。
THCは多数のHaskellプログラムをJITまたはAOTコンパイルできる。pandoc、happy、alex、そして今日ではGHC自体さえも。
HNでの議論
34- cosmic_quanta
偶然ですが、著者がちょうどHaskell Interludeポッドキャストでインタビューを受けています:
- zerr
Turbo VisionベースのTUI IDEを期待していました。
- BalinKing
間接的に関連するだけですが、以前見かけてすごくクールだと思ったJVM向けHaskell方言のFrege[0]を思い出しました…。最近のコミットは見かけますが、リリースはどれもかなり古いので、プロジェクトの状態はよくわかりません。
- woadwarrior01
polyglot FFI機能(GraalVMのおかげ)は、「関数型コア、命令型シェル」スタイルの設計を実装するのに非常に役立つかもしれません。
- draven
参考までに、この記事はRedditのディスカッションにリンクしており、ここでなされたいくつかのコメントへの回答があります。