なんだか読みにくいタイトル。
ubuntuとか使わずにWindowsそのままでGaucheを書きたかった。どうしても。
学校の課程でScheme(Gauche)でプログラミングする、という授業がある。結構放任主義な授業で、あまり説明もなくコードを書かされる。もちろん授業中じゃ終わらないために家で書く必要が出てくる。学校の環境はubuntuで、私はあいにくそういう環境でなく例によってWindowsだ。先生からは、「windowsにubuntu入れたらできる」的なことを言われたため、その通りにした。
私の特性として「大体のことはいい感じに上手くいかない」というものがある。これもそうで、ubuntuをダウンロードしたところまでは良かったのだが、肝心のGaucheが動かない。いろいろ調べたが好転せず諦めた。
jupyterで書いたりしていたのだがなんか使いにくく、妥協の妥協でこれまで使ってたRacketで書いた。もちろんRacketはGaucheをサポートしておらず、R5RSで書いたものをそれっぽく直して提出していた(R5RSにはランダムが無く、ランダムの課題は苦労した)。
Gaucheの公式サイトには、対話型で書けるものが配布されている。対話型が好きではないので使わなかった。
ふと思った。「Windows版のEmacs入れればいいんじゃね?」と。
前置きが長くなりました。すみません。
ということで、Windows勢がEmacsでGaucheを使おうとした冒険記です。
参考にしたサイトは最後に載せます。ありがとうございました。
私自身情報系に強いわけではないので説明がふわっとしてます。お許しを。
取り敢えずGaucheを入れる
(この工程、意味ないかもしれません)
Gaucheの公式サイトからwindows向けにダウンロードページが設けられている。↓公式サイト
お使いのbitの方に合わせてダウンロードしてください。64bitなら上、32bitなら下です。
先述の通り、Gaucheの対話型のやつなら最初からあります。

これでいいなら終了です。
Emacsを入れる
続いてはEmacsです。
なんでEmacs?と問われるとあれですが、個人的にGaucheを扱えるのがEmacsくらいしか知らないだけです。まあ学校のエディタもEmacsですし。
Emacsのダウンロードはここからできます。
http://ftp.gnu.org/gnu/emacs/windows/emacs-26/
下の方が新しいバージョンです。Gaucheの方で入れたのと同じもののzipファイルをダウンロードしましょう。
- 32bit → emacs-26.X-i686.zip
- 64bit → emacs-26.X-x86 64.zip
解凍先としてC:\Program Files (x86)に「emacs」というディレクトリを作っておきます。
無事できましたら、そことは別のディレクトリに「.emacs.d」というディレクトリができてると思います。私はAppdataの中に居ました。
この中に「init.el」という名前でGaucheの設定を書きます。折角なんでEmacsで書きますか。調べるといろいろ出てきます。その中で私が成功したものを載せます。
(setq process-coding-system-alist (cons '("gosh" utf-8 . utf-8) process-coding-system-alist)) (setq scheme-program-name "gosh -i") (autoload 'scheme-mode "cmuscheme" "Major mode for Scheme." t) (autoload 'run-scheme "cmuscheme" "Run an inferior Scheme process." t) (defun scheme-other-window () "Run scheme on other window" (interactive) (switch-to-buffer-other-window (get-buffer-create "*scheme*")) (run-scheme scheme-program-name)) (define-key global-map "\C-cS" 'scheme-other-window)
Windows + Emacs + Gauche の環境構築 | 小さいモノは美しい
(引用元サイトです。本当に助かりました)
再起
ここで書いているコマンドたちは入力欄とか気にせず、Emacsのウィンドウを選択していれば自由に打ち込めます。
Emacsで書いたなら、Ctrl-x Ctrl-c で保存してEmacsを落としましょう。そして起動。
最初の画面で、Ctrl-c Shift-sを押してみましょう。すると、なんということでしょう、Gaucheのインタプリタが起動するではありませんか。
「これじゃさっきの対話型のと同じじゃないか」とお思いでしょう。
ちなみに画面の構成が二分割になっていると思います。画面の移動はマウスクリックかCtrl-x oでできます。
次に画面を最初の方にし、Ctrl-x Ctrl-fを押して適当な名前のファイルを作成しましょう。拡張子は.scmです。
すると、Schemeのエディタが出てきます。ここにコードを書きます。
書いたコードの一番後ろでCtrl-x Ctrl-eを押してみましょう。すると、さっき出した対話型の方で出力がされるはずです。
ただ、問題としてオートセーブのエラーが出るというのがあります。そんなに大きな問題ではないと思うので無視してますが、エラー文がエディタに直で出るので毎回読み込みなおしています。気になる人は「Emacs オートセーブ 切り方」とかで検索してみてもよさげです(丸投げ)。
emacsのディレクトリでないディレクトリにファイルを保存するとエラーが出ません(追記:2020/08/12)。
このままでは自動補完も何もありません。Emacsは拡張性がすごいらしいので、簡単に見つかるでしょう(丸投げ)。
なんか中身のない調査をする記事みたいなこと書いてますね。
出典
Windows + Emacs + Gauche の環境構築 | 小さいモノは美しい