02:58:10 [ksmakoto'out] ; Read error: Connection reset by peer
02:59:48 [ksmakoto'in]
14:11:42 [g000000'in]
14:13:18 <g000000> 突然ですが、暑いのと、ここが使われないのがもったいないので、lisp本を読む会を開催することにしました
14:13:42 <g000000> といっても、私が本を読んで、独り言を投下するだけです
14:16:24 <g000000> とりあえず「対話によるCommon Lisp入門 http://www.amazon.co.jp/dp/4627836007」が手元で積読になっているので、これを読むことにします
14:18:09 <g000000> まず、この本の解説ですが、出版は1993年。ANSI CLが制定される前ですが、ANSI準拠ということみたいです
14:19:48 <g000000> 最初の版は絶版みたいですが、POD(print on demand)版として、現在でも入手可能です http://www.amazon.co.jp/dp/4627836090
14:24:07 <g000000> 自分は、最初の版を460円で買いました。一時安かったのですが、現在若干高めですね
14:28:51 <g000000> とりあえず、第I部 基礎的な対話 - 第1話 Lispを動かしてみよう
14:29:48 <g000000> とりあえず、replを起動して色々打ち込んでみる、というところです
14:30:21 <g000000> セットアップ等については省かれていますが、プログラミングの経験はあまり前提にしてはいないようですね
14:31:23 <g000000> (((( 第I部 基礎的な対話 - 第2話 関数を定義してみよう ))))
14:34:22 <g000000> タイトルの通り関数の定義についての説明です。ifの説明のからみで、特殊形式について、ちょっとだけ触れられています。
14:36:58 <g000000> ここまでのところ、束縛も代入も代入と表現されるみたいです。letで代入、という表現が若干気持ち悪かったりもしますが、letみたいな場合は束縛という表現が好まれる、という説明
14:37:00 <g000000> 読み進めるうちに使い分けられるのかもしれません
14:39:01 <g000000> (((( 第I部 基礎的な対話 - 第3話 プログラムやデータの構造を学ぼう ))))
14:45:55 <g000000> 評価規則や、関数呼び出し、関数の引数についての解説です。
14:46:27 <g000000> 割と詳しく解説されているかなと思いました
14:47:29 <g000000> この本は先生と生徒の対話形式で進んでいきますが、謎の語呂合わせのギャグ(まじめな人が言うようなギャグ)がやたら多いです
14:48:28 <g000000> Scheme手習い と はじめての人のためのlisp を足して2で割ったようなところでしょうか
14:49:44 <g000000> コラムが付いているのですが、この3話の終りには、Tachyon Common Lispの話が載っています
14:51:44 <g000000> (((( 第I部 基礎的な対話 - 第4話 リスト処理の基本関数を理解しよう ))))
15:11:14 <g000000> タイトルの通り基本的なリスト処理の話
15:11:30 <g000000> car・cdrは古いので、first・rest派のようです
15:11:54 <g000000> 20年位前は、結構first・rest派がメジャーになりつつあったようなのですが、
15:13:38 <g000000> いまでは、また普通にcar・cdrって感じですね。Schemeの標準ににfirst・restがないってのもあるでしょうか
15:16:40 <g000000> コラムは0オリジンのメリットの話です
15:17:11 <g000000> (((( 第I部 基礎的な対話 - 第5話 エディタで再帰的プログラムを作ろう ))))
15:22:17 [g000000`'in]
15:24:51 [g000000'out] ; Ping timeout: 250 seconds
15:33:26 <g000000`> 再帰の説明ですが、結構盛り沢山です
15:34:20 <g000000`> factorialを手始めに、gcdや、nCkの組み合わせを求める関数等を説明します
15:35:08 <g000000`> 末尾再帰の説明とスタックオーバーフローの話もあります。エディタの使い方の話もちょっとあり
15:35:17 <g000000`> 若干時代を感じさせる記述もあります
15:36:32 <g000000`> 疲れたので今日は第5話まで、続きは、明日14時頃から垂れ流します
15:39:14 [g000000`'out] ; Quit: ERC Version 5.1.2 $Revision: 1.796.2.4 $ (IRC client for Emacs)
19:39:51 [ksmakoto_'in]
19:43:19 [ksmakoto'out] ; Ping timeout: 260 seconds
23:21:06 <usaturn> おー、対話によるCL入門、私も積読になってます
23:22:00 <usaturn> ちょっと見、初めての人のためのLispみたいにギャグ入ってましたっけw