MzScheme


Windows版有り srcにVC6,VS2002のプロジェクト有り

 [2003/09/06 04:58:33 PDT] Ver205、VSプロジェクト、Relese版ビル後のDebug版のビルドはOKだが、
 何か設定の問題があるのか不明だが、Debug版だけのビルドだとエラー発生、ビルド成功せず。

Linux、Mac、Sparc版もあり、ソースコードも公開している。取っ掛かりとして、WindowsでSchemeやる人に、如何と

 http://www.plt-scheme.org/
 http://www.ccs.neu.edu/scheme/
 DrScheme http://www.drscheme.org/
 DrEd   http://www.plt-scheme.org/software/mred/
 MzScheme  http://www.plt-scheme.org/software/mzscheme/
 Other PLT Software http://www.plt-scheme.org/software/
 誰かに訳してもらいたい How to Design Programs 
 http://www.htdp.org/2002-09-22/Book/
 
 Schemeを普及させよう(そして Gauche を(すみません後回しで))

私(今津)の語学(英語&Scheme)では不正確な所があるかも知れません。修正、加筆ご自由に願います。

性能

基本的にバイトコードにコンパイルされてから実行されるが、x86、x64 (AMD64/EM64T)、32-bit PowerPCではバイトコードがJITコンパイルされて、ネイティブコードとして実行される。

他の処理系との比較

日本語の取り扱いについて

MzSchemeでは、文字型の内部表現としてUCS-4を使い入出力の外部表現としてUTF-8を仮定している。文字列型とUTF-8、UTF-16との変換処理は標準で装備していて、CP932などのUTF-8以外のエンコーディングにも、iconv経由で対応

基本的に、UTF-8以外のエンコーディングはByte Stringという型を経由して扱う。入出力の際に、Byte Stringと文字列型との間で変換を行い、内部では一貫してUCS-4として処理する。UTF-8の場合は、この変換が自動化される。また、エンコーディング変換ポートを使って、自動的に変換処理を行うこともできる。

;; Shift_JISでエンコーディングされたファイルを読み込む例 (4.1.4)
(require scheme/port)
(read-line
 (reencode-input-port (open-input-file "test.sjis")     ; 元になる入力ポート
                      "sjis"    ; 入力ポートのデータのエンコーディング
                      #f        ; 変換にエラーが発生したときに代用されるByte String
                      #t))      ; 変換ポートが閉じるとき、元のポートも閉じる

この例では、内部表現のUCS-4に変換された文字列が返る。前述の通り、iconvを利用できる環境であれば、"cp932"、"iso-2022-jp"、"eucjp"、"utf8"なども指定可能。reencode-output-portで出力ポートを作ることもできる。

REPL

標準ではUTF-8で入出力されるので、Windowsのコマンドプロンプトを使っている場合など、他のエンコーディングで入出力したい場合、

(require scheme/port)
(current-output-port (reencode-output-port (current-output-port) "cp932" #f #t))
(current-input-port (reencode-input-port (current-input-port) "cp932" #f #t))

のように、標準入出力にエンコーディング変換ポートを挟む。

インストール方法

Windows、Mac OS X、Linux、Solarisにはバイナリがあるので、それを使えば簡単にインストールできる。それ以外の環境では、ソースコードからビルド。

Emacsから使う場合は、こんな感じで適当に設定。

(autoload 'run-scheme "cmuscheme" "Run an inferior Scheme process." t)
(setq scheme-program-name "C:/PLT/MzScheme.exe")
(setq process-coding-system-alist
      (cons '("[Mm]z[Ss]cheme" utf-8 . utf-8)
            process-coding-system-alist))

Windows

PLT SchemeのダウンロードページからWindows用のインストーラをダウンロードして実行するだけ。

実行と終了

C:\Documents and Settings\imazu>mzscheme
Welcome to MzScheme version 205, Copyright (c) 1995-2003 PLT
>
> (exit)

C:\Documents and Settings\imazu>
 Ctr-C でも終了します。

初期化時、mzschemerc.ssがHOMEPATHの所にあればそれが読まれる

入力方法

MzSchemeの動作

http://download.plt-scheme.org/doc/mzscheme/mzscheme-Z-H-7.html#node_sec_7.7

> (current-directory)
"C:\\Documents and Settings\\Imazu" 

http://download.plt-scheme.org/doc/mzscheme/mzscheme-Z-H-7.html#node_idx_1020

を基準に

> (current-library-collection-paths)
("C:\\Documents and Settings\\Imazu\\Application Data\\PLT Scheme\\205\\collects" "C:\\Program Files\\plt\\collects")

http://download.plt-scheme.org/doc/mzscheme/mzscheme-Z-H-7.html#node_idx_1182

等でライブラリを検索しているよう

MrEd

Windows の COM

Ver4

ドキュメント

PLT Scheme Libraries and Extensions

MzScheme Topics


MzScheme, Scheme


Last modified : 2012/02/02 12:12:38 UTC