読者です 読者をやめる 読者になる 読者になる

KOYAMA Yoshiaki のブログ

プログラミングについての試行錯誤をつらつら書き溜めていきます。

入門Common Lispー関数型4つの特徴とλ(ラムダ)計算

書籍 購入 感想

入門Common Lisp―関数型4つの特徴とλ(ラムダ)計算

入門Common Lisp―関数型4つの特徴とλ(ラムダ)計算

数日で読み終えました。関数型プログラムを学ぶための最初の本として最適だと思います。フィボナッチ数列などは数式で表現されているのでわかりしやすいし、私自身完全に理解していないのですが、lambda 計算についても詳しく説明されています。

プログラムの実行環境として Carbon Emacs を利用しました。

実際に試したのは112頁のプログラムだけです。それに実行には GCL (GNU Common Lisp) ではなく Emacs Lisp (Elisp) を使いました。問題なく動作します。拡張子が el のファイルを作成、qsort、bunkatu 関数を入力、C-x C-e でそれぞれの関数を評価。ファイルに

(setq x '(5 1 3 6 5 6 9 1 4))
(qsort x)

を入力し、それぞれ C-x C-e で評価すると正しく

(1 1 3 4 5 5 6 6 9)

と表示されました。

EmacsX68000 の MicroEMACS で覚えました。私の知識はそれ以来全然進歩していません。
入門Common Lisp ( asin:4839920818 ) を読む前の Lisp の知識は

M.Hiroi's Home Page / xyzzy Lisp Programming
http://www.geocities.jp/m_hiroi/xyzzy_lisp.html

を読んだぐらいです。

これではいけないと思い

API Reference: Mac OS X Man Pages
http://developer.apple.com/documentation/Darwin/Reference/ManPages/manpages-mpindex.html#//apple_ref/doc/framework/manpages

emacs を調べてみると

The primary documentation of GNU Emacs is in the GNU Emacs Manual,
which you can read on line using Info, a subsystem of Emacs. Please

ドキュメントを見るには Emacs 上で info を利用するように記述されています。Google で検索すると

C-h i

で Info が動作するようです。表示されたテキストをスクロールして

Texinfo documentation system
* Info: (info).         How to use the documentation browsing system.

の部分から青色で表示された文字 Info をマウスでクリックし、Info のコマンド*1を覚えました。

後は興味のある箇所を読みました。流石にすべてを読むことはできませんが、以前より知識が増えたと思います。

Emacs について全然知識のない人は、最初に C-h t (Emacs 入門ガイド) を試すとよいと思います。

*1:日本語入力が英字モード [A] になっていないと正しく動作しません。