メモ Windows で Common Lisp の練習環境は Xyzzy
見出のとおり、日本のWindowsユーザには Xyzzy という Common Lisp 環境があるじゃないですか、というネタ。
AutoLISP と Common Lisp と代入 - 阿房峠 で挙げたとおり、AutoLISPがCommon Lisp のサブセット+図形編集コマンドであるとすると、再帰も使えるのではないかと考えているのだけど、再帰を使った AutoLISP のコードはまだ見てない。再帰じゃなくて多分 while で記述できるだろうし、AutoCADのユーザはたぶんCとかVBとかVBAとかの手続き型の言語を使っている人が多いだろう。
探し方が悪いだけできっとあるのだろう。検索キーワードも"再帰"と漢字なので英語の検索はしていない。AutoLISPで再帰がつかえたらなんかいいのかと聞かれても、何も返せない。悟りが開けるらしいとか、……云々。
自分のことを挙げれば関数の展開がわかっていない。返り値の格納場所とか言ってる時点で多分間違い。関数が鉛筆で解けない。だから再帰がわからないし頓珍漢な答えをだすのだ。
でも、AutoLISP ではメニューマクロの置き換え位はできるようになった。ところが公開されている AutoLISP が読めてはいない。コードを追って値がどうなっているのか説明できる自信がない。ということで、他のLISPで何かをつかめればいいなあと思うのだった。
お盆の間は 「Land of Lisp」 をやって、「リスト遊び」と「もう一つのScheme入門」を読んでいたのだけれど困ったのは実行環境だった。Emacs は使っているから EmacsLisp は困らないのだけれど Land of Lisp は CLISP で書かれているので CLISPの実行環境がいる(ちなみにSchemeはNexus7で実行してる)。ところが本文で示されたURLは"帯域使い杉"とかで制限されてる。仕方なくgoogleで検索してlispboxの中のclisp.exeだけ使ったりするんだけど、これってマニアック過ぎないのだろうか。WindowsユーザでLispをやってみたい人はみんなEmacsな人なのだろうかと思ったところで、気がついた。
Xyzzy がありました。しかも、Xyzzy で Common Lisp 入門 も Makoto HIROI さんが作ってくれてる。これがいいんじゃないかな。今晩帰ったら早速始めたいと思います。そのためのメモ。
xyzzyはWindowsで動作するテキストエディタ。Emacsと一般的なテキストエディタの利点を取り込んでいる。作者は亀井哲弥。マクロ言語としてCommon Lisp系のxyzzy Lispを実装しており、高機能なLisp処理系としての側面も持つ。現在は派生版の開発が続いている。
xyzzy はカスタマイズ可能で軽快な Windows 用のテキストエディタのようなものです。 作者も使ったことのないような機能を満載しています。
xyzzy - カスタマイズ可能で軽快な Windows 用テキストエディタ
Xyzzy Wiki †
亀井さん作成のエディタxyzzyに関する情報をまとめるwikiです。オフィシャルなwikiでは無いのでご注意ください。
はじめに
xyzzy は 亀井哲弥氏 が作成された Emacs 系のエディタです。xyzzy に搭載されている Lisp (以後 xyzzy Lisp と記述) は、Lisp の標準である Common Lisp に準拠 [*1] している優れた処理系です。この xyzzy Lisp を使って、Lisp でプログラミングを楽しもうというのが本ページの趣旨であります。Lisp は初めてという方は Common Lisp 入門 を読んでみてください。Common Lisp の基本を詳しく説明しています。
M.Hiroi's Home Page / xyzzy Lisp Programming
そして、Lisp をすすめる最大の理由が、プログラミングが簡単でとても面白いからです。少し勉強しただけで、プログラムを作ることができるようになります。Emacs Lisp は仕様が旧式なため少々使いにくいところがありますが、xyzzy Lisp ならば大丈夫です。優秀な処理系が身近にあるのですから、これを機会に Lisp の世界に足を踏み入れてみましょう。
M.Hiroi's Home Page / xyzzy Lisp Programming Common Lisp 入門
丸善に来たからって舞い上がって、Land of Lisp を買うんじゃなかった。まずは、XyzzyでCommon Lispだったな。ずいぶん遠回りしたものだ。