目的別
【SICP用】
どれでもいいw 環境別辺りを参照して適当に選んでw【R7RS準拠の処理系を使いたい】
現状でChibi SchemeとSagittariusのみがほぼ完全にサポートしている。うわさに寄るとChicken Schemeもサポートしているらしいのだが、最新バージョン(4.8.0.5)ではされていなかった。
Gaucheは0.9.4でサポートされる予定。
Kawaが意欲的にサポートしているらしい。
【R6RS準拠の処理系を使いたい】
この辺参照。ただし、Biwa SchemeはR6RSのサポートが弱いので(syntax-caseとか)注意が必要。【とにかく高速な処理系】
Vicare、Larcenyが機械語にコンパイルする(はず、未使用、未確認)(ただし、VicareはLinuxじゃないと処理系自体がインストールできない)
RacketはJITがあるので特定の環境(x86等)では高速
ChickenはCへのトランスレータがあるのでCコンパイラの最適化による
Chezも商用版は機械語にコンパイルするらしい
LarcenyはCへのトランスレータもあるらしい
【FFIが使える処理系】
Chez、Chicken、Racket、Vicare、Mosh、Ypsilon、Sagittarius。そこそこ実用的な処理系はほぼ持っているはず。Mosh、Ypsilonはx86、x64限定。SagittariusはlibFFIを使っているのでかなりのCPUでFFIが使える。
(自分の処理系の宣伝w)
【ライブラリが豊富な処理系】
RacketのPLT、ChickenのEgg等【ドキュメントが充実してる処理系】
Racket、Chicken、Gaucheはドキュメントが充実している。Sagittariusもまぁまぁ。
(あまり他の処理系のドキュメントを参照しないのでこの項目は弱いw)
【いざというときに日本語で質問できる処理系】
Gauche、Mosh、Sagittarius、Ypsilon、Schluesselは開発者が日本人。多分他にもあるがよく知らない。
環境別
【Windowsでインストーラ一発インストールしたい】
Chez、Racket、Sagittarius、YpsilonはWindows用のインストーラがある【Mac OSで使いたい】
Chicken、Racket、Mosh、Chibi、Gauche、Sagittarius等結構ある、がBrewに登録されてるのはどれかは知らない。【Linuxで使いたい】
自前でビルドすればほぼどれでもいけるんじゃね?(適当)【JVMで使いたい】
KawaSchluesselもJVMで動く
【開発環境が充実してる】
RacketがDr RacketというIDEを持っているEmacsが使えるならschemeモード使えばいい気がする。
Gaucheならgauche-modeがある。(つかったことないけど便利らしい)
注意事項
Larceny、Mosh、Ypsilonはリリースが年単位で出ていないので、不具合の発見をしても修正される可能性が低めChezはCiscoに買収されてから更新が停まっている感じ
他にほしい項目とか、この処理系もお勧めだという突込み歓迎。
追記 2014年1月11日
Larcenyタイポ修正
Schluesselを追加
FFIの項目を多少追加(Sagittariusの宣伝w)
追記 2014年1月13日
Chez Schemeの買収関連のリンクを追加
No comments:
Post a Comment