Scheme 処理系には IronScheme という選択肢もあります。R6RS にほぼ準拠していて SRFI も .NET Framework も使えます。.NET に慣れ親しんだプログラマが Scheme を始めるにあたっては良い選択肢の一つかも知れません。ちなみに C# で実装されており、ソースも読むことができます。
- vallog: [Scheme][.NET]IronScheme
- vallog: [Scheme][.NET]IronSchemeでForm表示
- vallog: [Scheme][.NET]IronScheme触ってます(001)
取りあえず Emacs で IronScheme が使えるようにしてみました。
以下の設定を .emacs に追加しました。
(defun iron-scheme-other-window () "Run IronScheme on other window" (interactive) (setq scheme-program-name "\"C:\\Program Files\\IronScheme\\IronScheme.Console.exe\" -emacs") (split-window) (let ((buf-name (buffer-name (current-buffer)))) (scheme-mode) (switch-to-buffer-other-window (get-buffer-create "*scheme*")) (run-scheme scheme-program-name) (switch-to-buffer-other-window (get-buffer-create buf-name))))
例外がスローされた時などのメッセージが化けるのでこちらも追加。
(modify-coding-system-alist 'process "IronScheme.Console" '(utf-8 . utf-8))
起動ショートカット。
(define-key global-map "\C-c\C-si" 'iron-scheme-other-window)
Gauche での設定を参考に以下のように設定。
(defun scheme-other-window () "Run Gauche on other window" (interactive) ;; set gosh path (setq scheme-program-name "\"C:\\Program Files\\Gauchebox\\Gauche\\bin\\gosh.exe\" -i") (split-window) (let ((buf-name (buffer-name (current-buffer)))) (scheme-mode) (switch-to-buffer-other-window (get-buffer-create "*scheme*")) (run-scheme scheme-program-name) (switch-to-buffer-other-window (get-buffer-create buf-name))))
0 件のコメント:
コメントを投稿