The Little Schemer

The Little Schemer

在庫あり。
送料について

詳細情報

 

ユーザーによる口コミ・評価

平均評価: 5.0 / 4件のユーザーレビューがあります

2人中2人がこのレビューを参考になったと投票しています

評価: 5 小さなScheme処理系で学ぶ数学基礎理論(2008-12-26)

この本は師匠と弟子の対話形式で、時折冗談を飛ばすなど親しみ易く書かれています。プログラミングの予備知識の無い人でも全体の七割は読めると思います。その部分はSchemeの基本的な関数であるcons, car, cdrを中心に再帰関数の書き方を一行一行丁寧に解説しています。残りの三割程は数学基礎論をベースにしたpedagogicalな話になっており、知らない人には難解に感じられると思います。

六章と八章では簡単な電卓関数valueを作りますが、これは最も簡単な処理系の作成になっています。最後に数を()の個数で表わしていますが、これは数学基礎論(ペアノの理論)で学習する整数の構成に対応しています。Dedekindの「数について(Essays on the theory of numbers)」の後半部分等が参考になります。また、Reasoned Schemerの七章と八章に出てくるバイナリー計算機の話と合わせて数値計算の基礎理論を見ることが出来るようになっています。

十章では再帰処理が出来る小さなScheme処理系(Little Schemer)を作成します。これが表紙の絵で象徴的に描かれています。Little Schemerではdefineが使えないので無名の高階関数としてYコンビネータ(表紙の象が象徴しているLambda関数)を導入し、このYコンビネータが再帰される本体の関数(象が持っている本)を使って再帰関数を実現する必要があります。これが九章でやっている話で、Smullyanの"To Mock a Mockingbird"に書かれているSKIコンビネータ理論の森の鳥達の話に対応します。そのようなSKIだけだとさすがにプログラミングが大変すぎるので妥協点として小さなScheme処理系を提示しています。それでもちょっとした再帰関数を作るのに難解なYコンビネータが必要になります。defineが使えるReasoned Schemerの処理系と比較することで、処理系の充実とプログラミングの労力の間のバランスを体験学習するようになっています。defineがあれば再帰処理にYコンビネータは不要になります。

この本は前半十章に相当し、後半十章はSeasoned Schemerに書かれています。その後、マクロを勉強すれば第三巻に相当するReasoned Schemer(miniKanren)に進むことが出来ます。それぞれのタイトルがそこで作成する処理系の性質を表わしています。姉妹編のLittle JavaではデザインパターンのGoF本に出てくるピザパターンを利用した小さな処理系によって関数型言語のリスト処理をエミュレートしています。また、Little MLerではStandard MLという関数型言語を使って型推論を説明しています。これらの幅広い話題の全ての基礎にあたるのが本書です。なお、このシリーズではアルゴリズムについては殆ど触れていないのでSICPをさらに読むことをお勧めします。

17人中15人がこのレビューを参考になったと投票しています

評価: 5 Schemeが好きになります(2006-03-13)

SchemeもLispも知らなくても読み進められます.Schemeの基礎の基礎から手取り足取り説明してくれるので,飛躍的に理解が進むというわけではありませんが,着実に理解が深まり,読んでいる途中で投げ出したくなる衝動に駆られることもありません.日常的にSchemeを使うことはほとんどないけれども,Schemeを好きにさせてくれたありがたい本.

15人中15人がこのレビューを参考になったと投票しています

評価: 5 英語であるのが苦痛にならない楽しさ(2005-11-17)

噛んでふくめるように、多くの例を示した後に「○○の方則(Law of ○○)
」を短かい文章でまとめるなど、わかりやすくするための工夫をこらしてあります。スタイルにクセはありますが良書だと思います。
1つ1つのセンテンスをごく短かくまとめてあり、洋書であるものの読み易いです。
(内容とは関係ないですが、各章の表紙イラストが絵本のようでかわいくてGood)

19人中16人がこのレビューを参考になったと投票しています

評価: 5 面白いスタイル(2003-01-04)

くどいくらいに丁寧に、schemeによるプログラミングを説明しています。
対話形式(「質問と答」の対)で、単純な質問から段々と複雑な質問に進んで行きます。再帰的思考法が体に染み込みます。