11:13:47 [r_takaishi_'out] ; Ping timeout: 252 seconds
11:27:47 [r_takaishi_'in]
16:04:02 [g000034'in]
16:04:29 <g000034> 今日も Successful Lisp / David B. Lamkins ぼっち読書会やります
16:04:41 <g000034> (((Chapter 33 - Where to Go Next)))
16:05:05 <g000034> そろそろこの本も終わりですが、この章は参考書籍の紹介のようです
16:05:31 <g000034> ((((Suggestions for further reading))))
16:05:34 <g000034> The Art of the Metaobject Protocol, Kiczales et al, MIT Press, 1991, ISBN 0-262-61074-4
16:06:06 <g000034> 難しいのでlispのことを良く分かってから読もうとのことですが、その割にはトップバッターです
16:06:34 <g000034> mopについての第一の本ですね
16:06:38 <g000034> ANSI Common Lisp, Graham, 1996, Prentice-Hall, ISBN 0-13-370875-6
16:07:06 <g000034> 経験を積んだlisperがリフレッシュするには良い本とのことです
16:07:48 <g000034> 確かにそうかもしれないです。cl入門として一番最初の本として読むのはちょっと厳しいんじゃないかとのこと
16:07:57 <g000034> そんな気もします
16:08:04 <g000034> On Lisp: Advanced Techniques for Common Lisp, Graham, Prentice Hall, 1994, ISBN 0-13-030552-9
16:08:18 <g000034> マクロについてならこれとのこと
16:08:23 <g000034> そんな感じですね
16:08:27 <g000034> Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS, Keene, 1989, Addison-Wesley, ISBN 0-201-17589-4
16:09:39 <g000034> CLOSについてシンプルで短かく良く纏まっていて、例も実際的に良いとのこと。
16:09:45 <g000034> 翻訳が絶版なのが残念ですね
16:09:51 <g000034> Understanding CLOS: The Common Lisp Object System, Lawless & Miller, 1991, Digital Press, ISBN 1-55558-064-5
16:10:41 <g000034> keeneの本より幅広い範囲をカバーしているとのこと。チュートリアルというよりは、リファレンス的らしいです
16:10:56 <g000034> Common Lisp: The Language, 2nd Ed., Steele, 1990, Digital Press, ISBN 1-55558-041-6
16:12:04 <g000034> 所謂CLtL2です。個人がまとめたもので仕様ではないですが、これに準拠した処理系も当時は多く、CLtL2にある関数をサポートしている処理系もあったりします
16:12:43 <g000034> この本が書かれた2000年位は、今よりそういう処理系は多かったんじゃないかと思います。多分最近はもうちょっとANSI寄りですね
16:12:47 <g000034> Garbage Collection: Algorithms for Automatic Dynamic Memory Management, Jones et al, 1996, Wiley, ISBN 0-471-94184-4
16:13:08 <g000034> GCについての本です。GCも押えておけということでしょうか
16:13:13 <g000034> Object-Oriented Common Lisp, Slade, 1998, Prentice-Hall, ISBN 0-13-605940-6
16:14:57 <g000034> AIではなく、実際的にCL使う、ということに関しての本としてはベストではないかとのこと。ビギナーにもお勧めだけど、この本意外に補助教材も必要かなとのこと
16:15:02 <g000034> Common LISPcraft, Wilensky, 1986, W.W. Norton & Co., ISBN 0-393-95544-3
16:16:48 <g000034> 載っている例も明快なので、最初の一冊としてお勧めの本とのこと。
16:16:51 <g000034> 翻訳はないですね
16:21:51 [g000034'out] ; Ping timeout: 268 seconds
16:22:40 [g000034'in]
16:24:02 <g000034> ((((Historical References))))
16:24:25 <g000034> lisp全般の歴史的な参考文献というところです
16:24:39 <g000034> Recursive Functions of Symbolic Expressions, J. McCarthy, CACM, 3, 4, 1960, ppg. 184-195.
16:25:03 <g000034> Cooperating Sequential Processes, Dijkstra, pp. 43-112 in Programming Languages, Genuys (ed.), Academic Press, 1968.
16:25:10 <g000034> これは、32章の関係ですかね
16:25:21 <g000034> ((((On-line sources))))
16:25:40 <g000034> The Association of Lisp Users
16:25:54 <g000034> ILCの運営とかですね、wikiもあって面白いものはあります
16:26:05 <g000034> http://wiki.alu.org/
16:27:52 <g000034> Common Lisp HyperSpec (TM)
16:28:08 <g000034> HyperSpecは、なくてはならないものですね
16:28:21 <g000034> MetaObject Protocol
16:28:45 <g000034> mopのリファレンスのリンクが切れてますが
16:28:45 <g000034> http://www.alu.org/mop/index.html
16:28:46 <g000034> です
16:28:49 <g000034> aluも、
16:28:58 <g000034> http://www.alu.org/alu/home
16:29:00 <g000034> ですね
16:29:47 <g000034> 長期的に改装中っぽいです
16:29:48 <g000034> http://wiki.lisp.org:8080/index.php/Main_Page
16:32:08 <g000034> ((((Commercial vendors))))
16:32:43 <g000034> ここで紹介されている、dititoolのMCLは、5.2からオープンソースで、
16:33:12 <g000034> PPC環境がrosettaでも新しいmacで動かなくなったので終了
16:33:42 <g000034> xanalysisから、lispworksの部門は独立して、LispWorksは現在単体の会社
16:33:51 <g000034> Franzはそのまま、という感じですね。
16:34:34 <g000034> この本の記述からすると、フリーな処理系もこの十年で大分充実したのかなという気もします
16:34:58 <g000034> 周辺ツールは商用の処理系がずっと充実してはいますね
16:35:19 <g000034> ということで、33章は終わりですが、ついでに34も行きます
16:35:31 <g000034> (((Chapter 34 - Lisp History, or: Origins of Misunderstandings)))
16:35:51 <g000034> lispの歴史、特に誤解についての解説みたいです
16:36:06 <g000034> (((John McCarthy's Notation)))
16:36:53 <g000034> マッカーシーは数学の記法として考えていて、lispはプログラミング言語として動くものを想定してなかったとのこと
16:37:03 <g000034> ((((Earliest implementations))))
16:38:18 <g000034> コンピュータで動かすことを想定してなかったものの、Steve Russellが実装してみせたことで、動くようになってしまいました。最近だとこの辺りは良く語られるようになってる気がします
16:38:52 <g000034> ((((Special hardware))))
16:39:38 <g000034> 結構時代は下って、1970年代ですが、当時のコンピュータの能力が非力だったこともあって、専用ハードウェアを作って性能を上げたいという動きが活発になります
16:41:11 <g000034> ここでlisp machine(LispMと良く綴られます)登場ですが、時代的にAlto等とも接点があり、パーソナルワークステーションの先駆けでもあります
16:41:18 <g000034> ((((Diverging dialects))))
16:42:44 <g000034> 専用機か、それとも汎用機上のlispかという中で多様性が深化したらしいです
16:43:30 <g000034> 自分が眺めてるところでは、専用機の進化が著しく、汎用機も負けるなって感じもします
16:43:50 <g000034> なんにしろ活発だったんでしょう
16:43:55 <g000034> ((((The DARPA directive))))
16:44:51 <g000034> DARPAがlispを使うにあたって方言が多過ぎるのも困るので統一できないかという話ですね
16:45:05 <g000034> 結果Common Lispの策定につながります
16:46:48 <g000034> ((((East vs. West, and European competition))))
16:47:19 <g000034> MacLISP vs InterLisp、あとはヨーロッパの動向ということですが、
16:47:41 <g000034> Common Lispの制定が始まってからいろいろ騒ぎ出したというところですね
16:48:33 <g000034> 結局Common LispはMacLISP方面の人が多かったのでMacLISP-Lispマシンの新しい方言という感じになりました
16:49:58 <g000034> ((((The emergence of compilers for stock hardware))))
16:50:28 <g000034> 80年代は、汎用機の性能の高くなり、汎用機での参入が活発になってきた、というところですね
16:50:50 <g000034> 制定に携わってる人が会社を起して参入ってパターンもありました
16:50:58 <g000034> ((((The long road to standardization))))
16:52:56 <g000034> 1981位から始まって、1984年にCLtLが出て、さらにansiで制定されるのが、1994年なので、実に13年も経過しています
16:54:30 <g000034> この間の議論は、メーリングリスト中心としたもので、投票等もここで行なわれました
16:54:43 <g000034> ((((State of the Art?))))
16:59:14 <g000034> この本が書かれた90年代後半でのCommon Lispと他の言語の状況という感じです
17:00:24 <g000034> まず、当時のCLベンダーが提供している処理系は、C/C++に対してそこそこ良い線だったようです
17:01:01 <g000034> 今でも、CLは多分C++と競合する位置にいると思いますが、そういう風に見てる人は少ない気もします
17:01:37 <g000034> 次にjava。当時は不安定であまり検討されてない感じですが、結果としては既に社会の基盤という感じです
17:02:40 <g000034> 次にGC。昔は、lispがGCを採用していることが欠点であると良くdisられていたようです
17:03:17 <g000034> いまどきは、GCをdisる人は逆に変な人だと思われる位普通になってしまいましたね
17:03:52 <g000034> 次にCommon LispのUIや、アプリの話ですが、これらは、全部古くなってしまいました
17:04:57 <g000034> 最近だとquicklispなどライブラリの流通が活発になる仕組みがでてきて、開発もなんとなく活発になってきた気はします
17:05:11 <g000034> ということで、34章は終わりです
17:05:53 <g000034> これで終わりですが、付録があるので、そっちも読みます
17:06:09 <g000034> (((Appendix A - Successful Lisp Applications)))
17:06:18 <g000034> http://psg.com/~dlamkins/sl/appendix-a.html
17:12:42 <g000034> lispを使って実際何ができるのか、どうやったら良いのかの事例として成功事例の紹介というところですね
17:12:48 <g000034> Emacs
17:12:52 <g000034> これは定番ですね
17:12:56 <g000034> G2
17:13:54 <g000034> リアルタイムのエキスパートシステムらしいです。gensymという会社の製品です
17:14:48 <g000034> ここは、主に ThinLispという CL->Cのトランスレータを開発して使っていたようです
17:15:07 <g000034> http://grammerjack.blogspot.jp/2008/03/thinlisp.html
17:15:17 <g000034> AutoCAD
17:15:46 <g000034> これも良く言われます
17:16:45 <g000034> Igor Engraver
17:17:06 <g000034> 楽譜の清書では有名なソフトですね
17:17:06 <g000034> http://noteheads.com/NoteHeads/Welcome.html
17:18:56 <g000034> http://www.lispworks.com/success-stories/noteheads-igor-engraver.html
17:19:03 <g000034> LispWorksで書かれてるっぽいですね
17:23:51 <g000034> Yahoo Store
17:24:00 <g000034> ポール・グレアム氏で有名なYahoo Storeですね
17:24:15 <g000034> ということで、付録も読み終わりました
17:24:41 <g000034> 一ヶ月位だらだら読みましたが、結構良い本ですね
17:25:19 <g000034> 特にCommon Lispでプログラムを書いてる人には再点検という感じで、一読したら良いんじゃないかと思いました。オンラインで読めますし
17:26:42 <g000034> Common Lispは、機能が多いんですが、良く話題になるのは、小難しくて、格好良さそうな機能が多いので、そういうところを覚えがちですが
17:26:57 <g000034> 良く使うところは知らない、ってことになりがちな気もしますので、
17:27:53 <g000034> この本に書いてあることは、派手じゃないですが、必読ですね。
17:29:03 <g000034> ということで、Successful Lisp / David B. Lamkins ぼっち読書会終了です
17:29:12 <g000034> 次は、なにを読もうかなというところです
17:29:56 <g000034> 未完ですが、Lisp Outside the Boxを読んでみようかなと思ったりはしています
17:30:12 <g000034> http://lisp-book.org/
17:30:57 [g000034'out] ; Quit: ERC Version 5.1.2 $Revision: 1.796.2.4 $ (IRC client for Emacs)