Gaucheをはじめてみませんか?

2008年5月16日(金)
吉田 裕美

Emacsとの連携

 ご存じの方も多いと思いますがLispは以下のようにカッコを多用します。

 (define(factn)(if(=n0)1(*(fact(-n1))n)))

 そのため、左カッコ、右カッコの対応対応を表示してくれたり、Lispに対応したインデント機能を持つエディタが必須になります。

 Lispプログラミングに最適なエディタとしてはEmacsがあります。Emacsは利用者が機能を拡張するための言語として、EmacsLispという独自仕様のLispが使われます。

 Emacsはプログラマに人気があるエディタなので読者の中にも使われている方が多いのではないでしょうか。UNIXのエディタとしてはvi(vim)と人気を2分しています。Windows上で動くEmacsとしては、Meadow(http://www.meadowy.org/meadow/)が有名です。

 Emacsには最初に書いたようなカッコを表示を始めScheme/Lisp向きの多数の機能があります。その中でもEmacsの画面を2分割し、片方ウィンドウでSchemeのコードを書き、もう1つのウィンドウでそのコードをすぐに実行する機能は、Lispプログラミンの生産性を飛躍的に向上します。この機能を使うには、リスト1ように設定した設定ファイルをホームデイレクトリの.emcasに書きます。

 リスト1の設定は、Cygwinを「C:\cygwin」にインストールしたWindows用に書かれています。LinuxやCygwinを他の場所にインストールした場合は、「(setq scheme-program-name "C:/cygwin/usr/local/bin/gosh.exe -i")」の「C:/cygwin/usr/local/bin/gosh.exe」の部分を環境に合わせて変更してください。

実際の動作

 では、実際に動作を確認してみましょう。Emacsを起動し、Scheme用に拡張子が.scmのファイル(今回の例では、t1.scm)をオープンしましす。ここで「Ctrl+C」、次に大文字Sを入力すると画面が2分割され、下にGaucheのウィンドウが開きます。

 上のウィンドウに「(+ 2 3 4)」と入力してみましょう。右カッコを入力すると対応する左カッコがハイライトされます、さらに右カッコの後ろで「Ctrl+X」、次に「Ctrl+E」を入力すると、下のウィンドウに9と表示されます。これは「(+ 2 3 4)」がGaucheで実行され、2+3+4の結果である9が表示されたのです(図3)。

 残念ながら、今回はここまです。次回は、Gaucheのプログラミングを学んでいきます。

 最後に記事の理解を深めるための参考サイトとして、「Gauche(http://practical-scheme.net/gauche/index-j.html)」「Cygwin(英語)(http://www.cygwin.com/)」「Cygwin(日本語)(http://sohda.net/cygwin/)」「Emacs(英語)(http://www.gnu.org/software/emacs/)」「Meadow(http://www.meadowy.org/meadow/)」を紹介します。

CADのベンチャー企業を経て、独立し有限会社EY-Officeを設立。Java、Ruby、PerlなどでWebアプリを中心に開発を行ってきたが、現在は、教育に注力し「問題解決型の教育」に奮闘中。「Gauche-Trac(http://www.ey-office.com/gauche)」に今回の記事のサポートページを作りましたのでご活用下さい。HP:http://www.ey-office.com。Blog:http://d.hatena.ne.jp/yuum3

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています