魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

Scheme 48

ぼくは Windows で日本語表示ができる Scheme を探した。その結果、5つの Scheme を見つけたのだった。そして今回もう1つ見つけたので紹介しておこうと思う。

Scheme 48 - http://www.s48.org/

f:id:fxrobot:20140101221615g:plain

 Scheme 48 がそれで、下の画像が Scheme 48 のシェルによる対話操作の結果だ。

f:id:fxrobot:20140105002918j:plain

Scheme 48 は、Unicode に対応した上にコードページ 932(Shift-JIS)への日本語出力を可能にしている。IronScheme などはコードページ 65001(UTF-8)のコマンドシェルを提供しているが、その場合は日本語入力が不可になる。

なお、人気者 Gauche の Windows 向けバイナリでは標準で 932 のシェルを提供しているが日本語の表示はまともにできない。もちろん使えないということではないがぼくは好んでは使わない。

Scheme 48 を含む 6つの Scheme は Windows が第一とはいえないが Windows に対し比較的好意的なバイナリリリースをおこなっている。

① Schluessel         http://schluessel.sourceforge.jp/index.html.ja
② Racket              http://racket-lang.org/
③ Kawa                 http://www.gnu.org/software/kawa/
④ Mosh                 http://code.google.com/p/mosh-scheme/
⑤ Ypsilon              http://www.littlewingpinball.net/mediawiki-ja/index.php/Ypsilon
Scheme 48        http://www.s48.org/

少なくともこれだけあるのだから、このなかから好みの Scheme を選べばいいね。

ああ、そうだ、今日気づいたことだけど、Racket では lambda を λ と書けるのだ。Unicode の時代だから、なるほど、できて当たり前かと思ったが、確認してみたら ①~⑥ でそれが可能なのは、Racket だけだった。(λ (x) (* x x))  みたいに書けるのだ。気分がいいね。

ところで、上の Racket は実行ファイルを作ることができる。また、Kawa は Scheme のコードから Class ファイルを作ることができる。

Racket は大きくて重いので、その点はぼく好みではないが、気づくと Racket を使っているという具合に起動速度と処理速度以外はすべての期待に応えてくれる。Gauche よりも人気が出てもいいように思うのだが、やはり重いのがネックだろうか。

Schluessel は、GUI も備えているし、その他もかなり魅力的な仕様を持っている。Kawa もまた、Kawa has some special handling to ease JavaFX Programming. とあり、これはかなりおもしろい。ぼくとしては今後  ①②③ の3つの Scheme を少しずつ自分のものにしていくことだろう。