2019-02-27(水)【東京】 JJUGナイトセミナー「JVM言語を作ろう! GraalVMで遊ぼう!」のセッション資料です。
阪田 浩一 (@jyukutyo): ポノス株式会社 / 関西Javaエンジニアの会 / Javaチャンピオン
オラクル社からGraalVMというものが発表され、話題を呼んでいます。GraalVMは、HotSpot VM上に新しいJITコンパイラGraalと、言語実装用フレームワーク/ASTインタプリタであるTruffle、ネイティブイメージ作成機能とその実行に使われるSubstrateVMを併せ持ったものです。すでに、Truffleを使用したJavaScriptやRuby、R、Pythonの実装がGraalVMにあり、これらの言語とJavaは、コードから"相互に"呼び出しができます。独自の言語も、ASTにさえできれば、Truffleを使い、JVM上で実行できるよう実装できます。私も、簡単な四則演算の言語を、Truffleを使って実装したことがあります。Truffleは、Graal上で動作するものです。Graalには、こうして複数の言語を相互運用する際に、高いパフォーマンスを出せるよう、機能が実装されています。
このセッションでは、TruffleとGraalの概要と、言語を実行する際に、この2つがどのような働きをするか、を主に解説します。私もTruffleを使って、言語を実装してみようかな、と思っていただくことがゴールのセッションです。