16:42:27 [g000006'in]
16:43:46 <g000006> 14時頃から開催の筈の一人読書会もいつの間にか17時です
16:44:36 <g000006> とりあえず、 Successful Lisp の続きを読んでみます
16:44:39 <g000006> ((( Chapter 2 - Is this Book for Me? )))
16:44:47 <g000006> http://psg.com/~dlamkins/sl/chapter02.html
16:56:25 <g000006> この章では、the professional programmer,the student,the hobbyist,the former Lisp user,the curious に対象ユーザーを分けて
16:56:37 <g000006> それぞれにコースを提示してみせています
16:57:19 <g000006> もちろん全部読めば同じなんですが、つまみ食いもできるような構成みたいですね
16:58:46 <g000006> 眺めてると、やはりこの本はそれなりに実践指向で、いまどきで言う、Real World〜的なところがありますね
16:59:09 <g000006> ((( Chapter 3 - Essential Lisp in Twelve Lessons )))
17:01:39 <g000006> http://psg.com/~dlamkins/sl/chapter03.html
17:04:34 <g000006> 基礎的なところですが、結構盛り沢山です
17:05:07 <g000006> CLOSとコンディションシステム以外は、ざっと紹介している感じですが、1から読んでみます
17:05:19 <g000006> (((( Lesson 1 - Essential Syntax ))))
17:08:10 <g000006> 基本的な記法についてでした。括弧の対応はエディタが面倒をみてくれるとか
17:09:07 <g000006> foo-1、foo/2のように記号もシンボル名に使えるとか、インデントについてというところです
17:09:15 <g000006> (((( Lesson 2 - Essential Evaluation ))))
17:21:50 <g000006> 評価についてですが、CLの評価方法である 左→右 の法則を割と熱心に説明しています
17:23:14 <g000006> 自己評価なアトム、関数/マクロでの引数の評価のされ方の違いetcの説明があります
17:23:45 <g000006> (((( Lesson 3 - Some Examples of Special Forms and Macros ))))
17:32:29 <g000006> 良く使うスペシャルフォームの説明です
17:33:37 <g000006> 関数とは引数の評価方法が違っているので、ここで説明があるんでしょうか
17:34:13 <g000006> ifではなくて、condの説明があるのが面白いです
17:34:25 <g000006> (((( Lesson 4 - Putting things together, and taking them apart ))))
17:36:24 <g000006> cons・list・first・restの説明です。first/rest派のようですねー
17:36:38 <g000006> (((( Lesson 5 - Naming and Identity ))))
17:42:28 <g000006> シンボルについての説明です。シンボルの特性の説明というところでしょうか
17:42:44 <g000006> (((( Lesson 6 - Binding versus Assignment ))))
17:46:20 <g000006> 束縛と代入の説明ということで、letと、setqとスコープの説明です
17:46:33 <g000006> (((( Lesson 7 - Essential Function Definition ))))
17:50:02 <g000006> defunでの関数定義と、lambdaでの無名関数の説明です。ややこしいところは触れず基本というところです
17:50:12 <g000006> (((( Lesson 8 - Essential Macro Definition ))))
17:52:46 <g000006> defmacroのざっとした説明です。
17:53:26 <g000006> 引数が評価される/されないという視点を既に念入りに説明しているので、割とすんなり導入しているようにも思えます
17:54:24 <g000006> 内容的には、defmacroの説明というより、バッククォートとコンマの使い方という感じです
17:54:46 <g000006> (((( Lesson 9 - Essential Multiple Values ))))
17:57:16 <g000006> 多値の説明です。多値を受ける構文と、多値を生成する構文の説明。
17:57:37 <g000006> A few special forms receive multiple valuesで、multiple-value-bindの説明がされていますが、
17:58:54 <g000006> 厳密にはスペシャルフォームじゃないですね(ANSI CLの標準ではない)。どうでも良いところですがw
17:59:27 <g000006> (((( Lesson 10 - A Preview of Other Data Types ))))
18:15:23 [g000006'out] ; *.net *.split
18:15:36 [g000001'out] ; *.net *.split
18:15:37 [usaturn'out] ; *.net *.split
18:15:45 [r_takaishi'out] ; *.net *.split
18:15:47 [ksmakoto__'out] ; *.net *.split
18:15:52 [PECCU'out] ; *.net *.split
18:17:19 [g000006'in]
18:17:19 [ksmakoto__'in]
18:17:19 [usaturn'in]
18:17:19 [g000001'in]
18:17:19 [r_takaishi'in]
18:17:19 [PECCU'in]
18:17:44 <g000006> 次に実行時に型をどうやって調べるかということで、TYPE-OF の説明
18:19:13 <g000006> 次にハッシュの説明
18:30:13 <g000006> その次に突如パッケージの説明
18:31:36 <g000006> ここでパッケージの説明かという気もしますが、主にプロジェクトでの関数等の名前の競合の回避という視点から説明しています
18:32:01 <g000006> (((( Lesson 11 - Essential Input and Output ))))
18:35:02 <g000006> I/Oの説明ですが、どちらかというと、readの説明です
18:35:23 <g000006> Standard Terminating Macro Characters " ' ( ) , ; `
18:35:24 <g000006> と、
18:35:28 <g000006> Standard Non-Terminating Macro Characters
18:35:31 <g000006> #
18:35:49 <g000006> を説明していたりして細かいです
18:36:38 <g000006> (等も Macro Charactersという視点で説明していますが、次のリーダーマクロに繋げる為なのかもしれません
18:38:26 <g000006> print・prin1・princの説明
18:39:05 <g000006> printはreadできるような出力という説明
18:39:40 <g000006> ちなみにprincのコードは改行が入らない筈なので間違ってますね
18:41:21 <g000006> 次にopen・closeの説明
18:42:34 <g000006> 次にprint系の関数が影響を受ける大域変数の説明。ごちゃっとしてますね
18:43:19 <g000006> (((( Lesson 12 - Essential Reader Macros ))))
18:46:58 <g000006> 11章でマクロ文字についてちょっと触れられているので、それを下敷きにしてリーダーマクロの説明と、
18:47:04 <g000006> 簡単な定義があります
18:47:45 <g000006> [1 2 3 4 5 6]を、'(1 2 3 4 5 6)と書いたのと同じことにしてみようという例です
18:51:51 <g000006> だらだら読んでたら長くなりましたが、こんなところです。明日は、4章からです
18:52:04 [g000006'out] ; Quit: ERC Version 5.1.2 $Revision: 1.796.2.4 $ (IRC client for Emacs)
20:49:36 <usaturn> 疲れた頭にはちょっとムズイw