『初めての人のためのLISP』復刊
先週弊社から『初めての人のためのLISP 増補改訂版』が復刊されました。
1986年にサイエンス社から刊行され、長らく絶版の状態が続いていたLISPハッカー竹内郁雄氏の名著です。現在LISPを業務で使う機会は少ないと思いますが、多くのLL系言語に影響を与えている関数型の考え方を学ぶことは、パズル的な頭の体操にもなるでしょうし、一目見て分かるユニークな語り口から、単純に読み物としても楽しめることでしょう。ぜひ書店で見かけたら手に取ってみてください。
ちなみに、Windows環境でLISPを試す場合は、私も愛用しているテキストエディタ「xyzzy」がお奨めです(正式な読み方はないらしい)。亀井哲弥氏によるフリーウェアで、Common Lisp準拠の処理系を実装しており、高機能でありながら軽快に動作します。
Emacs風の操作性なのですが、他のテキストエディタに比べて少し癖があるので、導入の敷居を下げそうなヒントを紹介します。
;;
ソフトウェアは、作者サイトのリンク「xyzzy」からダウンロードできます。適当なディレクトリに解凍して、「xyzzy.exe」を起動してください。
このままだとコピペや保存、全選択など、よくあるショートカットがまったく使えず、とまどう人が多いと思うので、LISPを記述して少し設定を変更します。
xyzzyの設定は、ホームディレクトリ直下の.xyzzy、またはプログラムディレクトリのsite-lisp/siteinit.lで行いますが、ここでは簡単な前者に記述します。
Ctrl+x、Ctrl+fと入力すると、最下部のミニバッファ部分に「Find file:~」と表示されます。そのまま「~/」、タブキーを入力するとホームディレクトリが補完されるので、続けて「.xyzzy」と入力しEnterを押してください。
(load-library "Gates")
と記述して、[ファイル]-[上書き保存]を行い、エディタを一度閉じます。
エディタを起動し直すと、先程の設定が反映され、Ctrl+CやCtrl+Aが利くようになります。
なお、私はC-xなど、本来のショートカットのまま使いたいものがあるので、次のような感じにしています。
(load-library "winkey")
(require "isearch") ;インクリメント検索を有効に
この場合、テキストを選択した状態でのみ、Ctrl+xのカットが有効になり、上書き保存はC-x C-sで、エディタの終了はC-x C-cで行えます(「C-」はCtrlを押しながら、「M-」はAltを押しながらの略)。C-sはインクリメント検索。
その他の機能は、[ヘルプ]-[キー割り当て一覧]で表示される一覧や、Webの情報を参照してください。コマンドの状態が分からなくなったらC-gを何度か押すと解決します。
;;
肝心のLISPの実行環境ですが、画面下のステータスバーに(Lisp Interaction)と表示されていれば、Lispを対話的に実行することができます(デフォルト状態)。
別のモードになっている場合は、Alt+xでミニバッファの入力状態にし、「lisp-interaction-mode」と入力してモードを切り替えてください(タブキーかスペースキーで入力補完できます)。
後は、
(+ 10 20)
などと入力して、Ctrl+jを入力すれば式を評価した結果が次の行に表示されます。





