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

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

価格:

この商品は、このストアからは購入できません。
クリックしてAmazonでの購入オプションを見る


12 新品/中古商品価格 ¥ 481

おすすめ度:

商品の詳細

  • Amazon.co.jp ランキング: #390470 / 本
  • 発売日: 2006-09
  • 版型: 単行本
  • 191 ページ

エディターレビュー

内容(「BOOK」データベースより)
Common Lispで関数型の特徴を学ぶ!「関数型プログラミング言語を学ぼうと思ったとき、何を理解すれば“関数型”を理解したということになるのか?」「関数型を学ぶ際、どのような知識が得られれば、今後役に立つのか?」Common Lispで関数型の特徴とλ(ラムダ)計算を体得。

内容(「MARC」データベースより)
Common Lispを使って、関数型プログラミング言語の特徴を学ぶための入門書。それらの特徴とプログラミングにおけるポイントを紹介。λ計算についても、必須となる知識として簡単に解説する。

出版社からのコメント
(Common Lispで関数型の特徴を学ぶ!)
「関数型プログラミングを学ぼうと思ったとき、何を会得すれば "関数型"を
理解したということになるのか?」「関数型を学ぶ際、どのような知識が得られ
れば、今後のプログラミングに役立つのか?」
本書では、Common Lisp使って関数型の特徴とλ計算を体得できます。

特にWindowsユーザ向けに、xyzzyやMeadow+GCLによるプログラミングを一通り解
説した後、式の評価、再帰呼び出し、参照透過性、高階関数、そしてλ(ラム
ダ)計算など、LISPの特徴が出るプログラミングを取り上げていきます。

本書によってCommon
Lispによるプログラミング(あるいは関数型のプログラミ
ング)がどういったものか、手続き型のプログラミングとの違いが体得できま
す。


カスタマーレビュー

ごく簡単な手引書3
サブタイトルの通り、「関数型4つの特徴とラムダ計算」がどんなものか、簡単に紹介してくれる手引書です。この本は全八章から成りますが、第八章ラムダ計算を除けば、数時間で読める程度の内容です。文系人間の私には、第八章の内容がほとんど理解できませんでした。
この本を読んでもCommon Lispをバリバリ使いこなせるようにはなりません。読了後Common Lispに対する興味がさらに湧いたら、Practical Common Lisp(無料で公開されてます)などの、より詳細な入門書を読まれると良いと思います。

マクロを学習したいならお勧めできません2
購入したがかなり失望しました。

まず、Common Lispといえばマクロの重要性は外せないと思いますが、全くマクロに触れていません。関数型風に説明されていますが、Common Lispをこんな風に使う位なら他のHaskellやOCamlを使った方が簡潔にコードを書けます。Common Lisp初心者にはもっと他の本をお勧めします。最近出版されたSeibelの「実践Common Lisp」やGrahamの「ANSI Common Lisp」ではマクロの解説を含めて詳しいです。また、マクロについては既に"On Lisp"や"Let Over Lambda"などの良書もあります。

著者は副題にラムダ計算を挙げておられますが、実際にコードで説明する労を厭って適当に講義ノートを掲載しているいるのでしょうか?この部分も手軽にまとめた感じがしました。このテーマでは"To Mock A Mockingbird"の方が比較にならない位すばらしいです。

関数型言語入門の入門5
Common Lisp入門というより,関数型言語を始める前にという位置づけで
考えるとよいと思う.
この本だけでLispでプログラムが書けるようにはならないが,なぜ関数型で
書かなければいけないんだろう,という疑問を抱きながらカッコ地獄に迷う
ことはなくなる.という大きな役割を果たしてくれるだろう.

門外漢にはとっつきにくいLispであるが,本書では処理系のインストールから
紹介している.

本書で紹介されている関数型言語の4つの特徴とは
1. 式は評価され,値を返すもの
2. 繰り返しは再帰で書く
3. 代入式を使わない
4. 高階関数が利用できる
というもの.
例えばLispではsetqを使って代入ができるので純粋には関数型言語ではない.
など,関数型言語という軸をしっかり持って書かれていると思う.

再帰の章では,再帰の解説としては珍しく,「処理速度,コストの観点からいえば
再帰するべきではない」ときちんとかかれており,更に手続き方での書き方
も対比して書かれているのがよかった.
また,最後に末尾再帰の解説がされているのが個人的に嬉しかった.

各章の最後に「この特徴とCプログラミングとの関係」という説明が入っている
ため,従来の手続き型言語に慣れている人の理解を助けてくれる.

最終章ではλ計算についての解説がある.
プログラムを組む上ではλ計算について知っている必要はないのだが,
具体的な例を交えて説明してくれているので,計算理論の難しそうな本を
開くまでもなく,λ計算を理解できる.

例えばPerlやRubyはLispに大きく影響されている言語であり,
プログラミングを行う上でLispの概念を学ぶことは大きな意義がある.
エッセンスを学ぶという意味で本書は良い入門書だと思う.