おすすめのR7RS規格Scheme処理系は?


Schemeの最新仕様である R7RS の仕様が決まってから数年経過しますが、現在お勧めのR7RS処理系を教えてください。  
その処理系の

  1. R7RS仕様準拠度
  2. 特長

を教えてもらえると参考になります。




現時点で充分に R7RS の仕様を満たしていると私が認識しているのは以下の五つです。

  * Gauche
  * Sagittarius
  * Foment
  * Chibi
  * Picrin

それぞれについて私の感想を述べます。

## Gauche

人気のある処理系で、日本語のドキュメントがあるのがありがたいです。 スクリプト言語的な利用に便利な拡張も多く持っています。
作者自身が仕事に使っていることもあって、泥臭い現実的な用途にも使えるよう配慮しつつ、汚なくならないようにうまくバランスをとった実用的な処理系だと思います。

強いて言えばマクロ (syntax-rules)
に既知のバグが最初からあるのですが、次か更にその次あたりのリリースではマクロ展開器を根本的に書き直す計画があるようですし、多くの場合は簡単に迂回できるので問題にならないでしょう。

それと、元々が R5RS に独自拡張を足した処理系だったので、後からサポートした R7RS
としての部分と独自拡張の部分が少し統合しきれてないような印象を受けるのですが、実際の使い勝手を見ながら徐々に修正されるのではないでしょうか。

## Sagittarius

元々は R6RS 処理系でしたが、後から R7RS もサポートするようになりました。 R7RS のプログラムから R6RS
のライブラリを、またはその逆を利用可能というのが他にない大きな特徴です。
日常的に使いそうな便利なライブラリを多くもっており、作者自身が仕事上必要であることから暗号関係が充実している傾向にあるようです。

月に一度の定期リリース体制になっているので、たまにバグを見付けてもよほど難しい根本的なものでない限りは次のリリースに素早く修正が反映される安心感があります。

## Foment

私が使った感触としては R7RS 準拠度が特に高いように思うのですが SRFI のサポートは少ししかなく、独自の拡張もほとんどありません。
実用しようと思うと物足りないことが多いかもしれません。

## Chibi

事実上の参照実装という立場であることから R7RS 準拠度は高いと思います。 SRFI も広くサポートしており、堅実な処理系です。

Windows で動かすには Cygwin が必要というのがちょと面倒かもしれません。

## Picrin

アプリケーションに組込んで利用することを想定しており、組込んで使う部分をライブラリ Benz として別プロジェクトにして切り離しているという特徴があります。

Scheme 処理系としては比較的新しいこともあって開発状況が活発な印象を受けます。




現時点で充分に R7RS の仕様を満たしていると私が認識しているのは以下の五つです。

  * Gauche
  * Sagittarius
  * Foment
  * Chibi
  * Picrin

それぞれについて私の感想を述べます。

## Gauche

人気のある処理系で、日本語のドキュメントがあるのがありがたいです。 スクリプト言語的な利用に便利な拡張も多く持っています。
作者自身が仕事に使っていることもあって、泥臭い現実的な用途にも使えるよう配慮しつつ、汚なくならないようにうまくバランスをとった実用的な処理系だと思います。

強いて言えばマクロ (syntax-rules)
に既知のバグが最初からあるのですが、次か更にその次あたりのリリースではマクロ展開器を根本的に書き直す計画があるようですし、多くの場合は簡単に迂回できるので問題にならないでしょう。

それと、元々が R5RS に独自拡張を足した処理系だったので、後からサポートした R7RS
としての部分と独自拡張の部分が少し統合しきれてないような印象を受けるのですが、実際の使い勝手を見ながら徐々に修正されるのではないでしょうか。

## Sagittarius

元々は R6RS 処理系でしたが、後から R7RS もサポートするようになりました。 R7RS のプログラムから R6RS
のライブラリを、またはその逆を利用可能というのが他にない大きな特徴です。
日常的に使いそうな便利なライブラリを多くもっており、作者自身が仕事上必要であることから暗号関係が充実している傾向にあるようです。

月に一度の定期リリース体制になっているので、たまにバグを見付けてもよほど難しい根本的なものでない限りは次のリリースに素早く修正が反映される安心感があります。

## Foment

私が使った感触としては R7RS 準拠度が特に高いように思うのですが SRFI のサポートは少ししかなく、独自の拡張もほとんどありません。
実用しようと思うと物足りないことが多いかもしれません。

## Chibi

事実上の参照実装という立場であることから R7RS 準拠度は高いと思います。 SRFI も広くサポートしており、堅実な処理系です。

Windows で動かすには Cygwin が必要というのがちょと面倒かもしれません。

## Picrin

アプリケーションに組込んで利用することを想定しており、組込んで使う部分をライブラリ Benz として別プロジェクトにして切り離しているという特徴があります。

Scheme 処理系としては比較的新しいこともあって開発状況が活発な印象を受けます。

