世界を動かす技術を、日本語で。

HNに表示: Lispに関する技術的歴史書を書きました

概要

  • “The Genius Of Lisp” は、Cees de GrootによるLisp言語の歴史と技術詳細を網羅した書籍
  • Berksoft Publications から出版され、サンプルや第8章のPDFが公開
  • Lulu.com など複数の書店・プラットフォームで購入可能
  • フィードバック や議論はIRCやMastodon、Hacker Newsなどで受付
  • 著者は SmalltalkLisp 愛好家で、今後も関連分野の執筆を検討

「The Genius Of Lisp」概要

  • Cees de Groot によるLispの歴史書
  • Berksoft Publications より出版
  • Richard P. Gabriel から「傑作」と評される推薦文掲載
  • 技術的詳細 と歴史的背景を両立した内容
  • Amazon でイントロダクションまでのプレビューを提供
  • 第8章 の全文PDFをウェブで公開

購入方法

  • Lulu.com で電子書籍・ペーパーバック販売
  • Berksoft on Shopify ではDRMフリーPDF版を提供
  • Kobo books でDRMフリーEpub版入手可能
  • Amazon (.CA, .COM, .CO.UK, .DE, .NLなど)でペーパーバックおよびハードカバー販売
  • Lulu.com での購入が著者・出版社への還元率最大

フィードバック・コミュニケーション

  • Libera Chat のIRCチャンネル「##geniusoflispbook」で意見交換
  • Libera のウェブクライアントからも参加可能
  • Mastodon および Lemmy で著者と連絡
  • Hacker News の「Show HN」トピックで感想受付
  • 需要次第で Discourse フォーラム開設を検討

ソースコード・参考文献

  • 書籍掲載の ソースコード はtarファイルで配布
    • LinuxmacOS では標準で展開可能
    • Windows では 7-Zip 等で解凍
  • リンク付き参考文献リスト をウェブで公開
  • 正誤表(Errata) も随時更新

執筆の背景と今後の展望

  • 著者自身 によるブログ投稿で執筆経緯を解説
    • 技術的詳細と歴史的背景の両立した書籍が少なかったため、自ら執筆
    • 5年の執筆期間を経て出版
  • コード量が豊富なコンピュータ史本 として希少性を自負
  • SmalltalkLisp の愛好家
    • Emacsユーザーとして Lisp を長年利用
    • 現在は Common Lisp を主に使用
  • 今後の執筆予定
    • Smalltalkコンピュータネットワーク 分野を検討
    • 本業との両立のため、執筆は引退後を想定
  • Richard P. Gabriel によるJohn McCarthyの思い出話も収録

Hackerたちの意見

見てみるよ、すごく面白そうだね。頑張ってくれてありがとう。Lispにも興味があるんだ。これ、いいかもよ:ガイ・L・スティールとリチャード・P・ガブリエルの「Lispの進化」。https://doi.org/10.1145/234286.1057818

これも似たような感じだけど、Haskellについてで、かなり面白いよ:ポール・フダック、サイモン・ペイトン・ジョーンズらの「Haskellの歴史:クラスで怠けることについて」。https://doi.org/10.1145/1238844.1238856

リチャード・P・ガブリエルがその本の前書きを書いていて、そこでガイ・L・スティールを引用していることは注目に値すると思うよ。君が提案している論文からの引用なんだ。

ちょっとフィードバックがあるんだけど、大したことじゃないよ。プロのデザイナーに頼むと、表紙をもっと良くできると思う。今のところ、グラフィックデザインのプロか、デザインのセンスがある人なら、改善できる部分に気づくかも。5年間も頑張ったのに、ベストな形で見せられないのはもったいないよね。

5年間、表紙のアートよりも本の内容に集中してた可能性が高いね。

うん、デザインには満足してないよ。約束してたサポートがダメになっちゃって、最後の最後でバタバタしたんだ。でも、もっとひどいのも見たことあるけどね :) (今のデザインを改善する具体的なアドバイス、歓迎だよ。ほとんどの店は編集を許可してるし)

表紙デザインは悪くないと思うけど、確かに技術的なモノグラフってよりは自己啓発本っぽいね。サイトの画像は大文字の使い方が間違ってる(「A History of...」)、でもAmazonのは修正されてるみたい。

素晴らしい取り組みだね。「Land of Lisp」は今でもお気に入りの代替プログラミング本の一つだよ。サンプルについて一つ聞きたいんだけど、好きなランダムな章を見せてもらえるチャンスはある?大部分が前書きや謝辞、あと「Lispって何?」って内容みたいで、興味を持ってる人は大体知ってるんじゃないかなって思うんだ。

好きなランダムな章を見せてもらえるチャンスはある? +1、ハードカバー版を注文しようかと思ってるんだけど、サンプルが全くないからすごく迷ってる。ページが一枚か二枚でもあれば、期待を持てるかどうか判断しやすいんだけどね。

そうだね、https://berksoft.ca/gol/genius-of-lisp-chapter-8.pdf が役に立つといいな。

他のコメントを見て、僕も本を買う寸前だったけど、Amazonのサンプルが決断を助けてくれなかったな。でも、ありがたいことに、書籍のウェブサイトには参考文献が全部載ってるから、初期LISPの歴史に関する最も重要な論文[1]が引用されているか確認したんだ。結局、引用されてなかったから、初版の注文は見送ることにするよ。[1] https://dl.acm.org/doi/abs/10.1145/800055.802047

その論文をシェアしてくれてありがとう、知らなかったよ。すごく面白そうだね。

そういえば、その本にはちょっとした歴史があるんだ(謝辞を見てみて)。出版社で働いていたとき、参考文献みたいな「学術的」なものはあまり重視されなくて、ツールもBibTeXほど良くなかったんだ。だから、直接引用した作品だけを含むすごく短い参考文献にしたんだ。最初の章のリサーチをしていたときにその論文を読んだけど、年月が経つうちにその参照が失われちゃって、それが主な理由で載らなかったんだ。でも君の言う通り、それ(と他にもたくさんのこと)は参考文献に入れるべきだね。

参考文献に誤字があって、エントリー5の「Allegro」に「l」が抜けてるよ。それと、「Oldie but Goldie」と呼べる本も追加できるかも:ジョン・アレンの「Anatomy of Lisp」(1978年)。これはLISPの内部に深く入りたい人には今でも素晴らしい読み物だよ。SICPの前駆とも言えるかもしれないし、いくつかの入門的なトピックも扱ってるからね。要約はこちら: https://dl.acm.org/doi/10.5555/542865

そして、最近見つけたジョン・アレンに関する興味深い背景情報を紹介するよ:ジョン・アレン(1937-2022)とLISPの解剖 https://mcjones.org/dustydecks/archives/2024/04/11/1249/

ありがとう!たくさんの参考文献が得られてるね、次の版は少なくとももっと長い参考文献が付くことになるだろうね :)

自分でLispを実装したい人には、読む価値があるよ。クリスチャン・クエンネックの「Lisp In Small Pieces」の前身だと思う。両方のコピー持ってるよ。

ジョン・アレンの本は、40年前にはLisp言語の実装についての細かいところを説明するのにすごく役立ったけど、今はあまりおすすめできないな。「Genius of Lisp」は楽しくて面白いから、Lisp言語の本質や興味深い歴史について知りたい現代の読者にはおすすめだよ。参考文献に追加するのはいいアイデアだけど、誰かが君のコメントを見て、古いアレンの本の中古を注文して楽しめなかったら嫌だなと思ったんだ。

指摘してくれてありがとう。次の編集リストに入れておくね :)

みんながAmazonが提供するよりも多くのサンプル素材を求めていて、それは全く理解できるリクエストだね。第8章、Schemeについてのやつだよ。ここで読めるよ: https://berksoft.ca/gol/genius-of-lisp-chapter-8.pdf

参考文献を見たけど、Lispの歴史の断面としてはこの本はまあまあかもしれないけど、初期のLispに関してもっと詳しいものが見たいな。PLTの視点からも。ゲーデルの引用がたくさんあるのに、型付きラムダ計算やクリーン・ロッサーの逆説(チャーチの無型ラムダ計算が論理的に矛盾していること)については何もないの?Lisp 2についての情報はある?言語の発展を促した重要なLispアプリケーション、例えばMacsymaについてはどう?ユーザーの貢献を基にした包括的なLisp歴史の参考文献があったら素晴らしいと思う。リチャード・ジョーンズのガーベジコレクションの参考文献みたいなやつね。https://www.cs.kent.ac.uk/people/staff/rej/gcbib/

本を書くときは、みんなを満足させるのは難しいよね。これは少し一般的な技術者向けに書いたから、LISP Iの前に数学の内容について議論もあったんだよね :-)。特にHNでは、もっと百科事典的な内容を求める人が多いから、その気持ちは分かるけど、「Lispの歴史の断面としてはまあまあ」っていうのでも本が埋まっちゃうから、どこかで止めなきゃいけなかったんだ。ある人には多すぎて、他の人には足りないかもしれないけど、ほとんどの読者には「まあまあ」って思ってもらえたらいいな。それと、包括的なLisp歴史の参考文献はいいアイデアだね。

いくつかの参考文献を紹介するよ。ヘルベルト・ストヤンの広範だけど古いものも含まれてる。フォーマットが粗いのはごめんね。https://softwarepreservation.computerhistory.org/LISP/resour...

技術的な歴史や「内部の歴史」は素晴らしいね。普通の歴史家がコンピュータの「外部の歴史」を書くと、ビジネスや経済問題、政治、人物、時には社会的影響など特定のトピックに焦点を当てがちだけど、技術そのものの詳細を省略しちゃうことが多いんだ。これが実務者にとってはすごく興味深いし、物事がどうしてそうなるのかを理解する助けにもなる。もちろん、実際に体験した人たちは、個人的な視点や技術的な洞察を持っていることが多いよね。CHMの口述歴史はその両方を提供してくれることが多いし、私もいつも楽しんでるよ。https://www.folklore.org/Busy_Being_Born.html

これすごいね。逆から読んでみたくなるな、知ってるLispがどんどん異質になっていくのを見たいから。最終的にはベンジャミン・バトンのm-expressionsの段階に達するまで。

いい仕事だね。今年の読むリストに入れたよ。今はHaskellとOCaml/ReScript(Emacs使ってる!)を使ってるけど、Lispの本を読むのはいつも楽しいし、Lispでシステムを作ったりREPLでコードを探ったりする自分を想像しちゃう。Lispでソフトウェアを作った経験について話してくれない?