Scheme処理系「GNU Guile 3.0」リリース

 GNU ProjectのScheme実装である「GNU Guile」プロジェクトは1月16日、最新のメジャーリリースとなる「GNU Guile 3.0」公開を発表した。JIT(Just in time)のネイティブコード生成などの機能が加わっている。

 GNU Guile(GNU Ubiquitous Intelligent Language for Extensions)はプログラミング言語Schemeのランタイム環境。インタープリタおよび仮想マシンのほか、さまざまな環境で利用するための機能を提供する。SchemeはLispの方言で、GNU GuileはSchemeの規格であるR5RS、R6RS、R7RSをサポートする。POSIXシステムコール、ネットワーク系、動的リンキング、外部関数呼び出しのためのインターフェイスなどの機能も備える。Schemeでプログラムを書くだけでなく、C/C++プログラムの統合も容易に行うことができる。GNU Projectの公式な拡張プラットフォームと位置付けられている。

 GNU Guile 3.0は、2017年3月に公開されたGNU Guile 2.2に続く最新版となる。

 JITのネイティブコード生成をサポートした。これにより、2.2と比較して4倍の速度でGuileプログラムが動作するという。Schemeで書かれたevalの速度が、Cで作成されたものと同等だったバージョン1.8のレベルに戻るという。JITネイティブコード生成はデフォルトで有効となっている。

 Guileの仮想マシン命令セットがローレベルになり、型チェック除外など高度な最適化を表現できるように異なった。例外を再実装した。これまではthrowとcatchを主に用いていたが、with-exception-handlerとraise-exceptionが主要な例外処理ハンドラとなる。

 このほかにも多数の機能強化や改善が加わっている。

GNU Guile
https://www.gnu.org/software/guile/