[Gauche] 「プログラミングGauche」出版記念トーク -「Gauche脳」の謎に迫る - 報告

以下では、敬称は省略させていただきます。

概要

出演者
場所
日付
  • 2008年3月12日(水)
時刻
開演 19:00過ぎ
終演 20:00過ぎ

内容

Schemeとの出会い
「プログラミングGauche」について
  • えんどうがオライリーの書籍にあった間違いを電子メールで指摘した際、そのメールで「本を出したい」旨を伝えた。
  • 「プログラミングGauche」では、Gaucheの意図まで書きたかった(川合)。
  • 今日先行発売している本は、週末に書店に並ぶ本と、一箇所だけ違う。
  • Karetta (http://karetta.jp/top) の開発と原稿の執筆の両立に苦労した(えんどう)。
    • Karettaは、原稿を修正するとき、先に階層を操作しないといけないのが難点(川合)。
  • 進捗管理は、"Tudura" (http://tudura.kahua.org/) で行った。
  • Gaucheを楽しんで書けるようにするために書いた(川合)。
  • Lisperは負けず嫌いなので、間違いを指摘するとすぐに直るかもしれない(川合)。
Kahuaについて
  • Haskellの継続ベースのサーバが先にあった。
  • 「プログラミングGauche」も、Kahuaのプロモーションのためだった。
    • Kahuaを解説するためには、Gaucheについて説明しなければならなかった。
    • 本に載っているサンプルのウェブサーバが、Kahuaの原型
gauche.nightについて
Gaucheに至るまでのScheme処理系
  • Z80用(学生の頃)
  • 組み込み用のスクリプトがあるとよかった。
    • GCCに組み込んで、最適化などの挙動を変えるSchemeをつくった。
    • ファイルサーバに組み込むSchemeをつくった。
      • アクセスするとバックでSchemeが働く。
  • Gauche
    • STklosでは実現できないことをやりたかった。
    • Perlを置き換えたかった。
    • Unixを操作したかった。
    • 日本語を扱いたかった。
    • 全プラットフォームに対応するのは個人では無理なので、既存のGCを使用した。
    • 組み込まれることを考えていた。
    • SchemeでMayaを拡張した。
質疑応答
  • 質問: Lisp脳について、もう少し詳しく
    • 川合
      • Lisp屋はパフォーマンス狂
      • リストを全部つくらないようにクロージャをつくったりする。
      • リストを全部つくるのはHaskellのほう?
      • 再帰(とまる場合と、再帰する場合をわける)は身についている。
  • 質問: 関数型言語について、どのように勉強したらよいか?
    • 川合
      • 意識して勉強したことがない。
      • Lispはいろいろなところからいいとこ取りをしているので、関数型言語だと思わない方がいいかも。
      • 手続き型言語の人がつまづきそうなfoldを、「プログラミングGauche」の最初の方に書いた。
    • えんどう
      • 手続きでどうやるか、考えない方がいい。
  • 質問: 他に書いてみたい本は?
    • 川合
      • 自分は本を書くのには向いていない。
      • GaucheのVMについての文章は書いているので、いずれ世に出したい。
    • えんどう
      • Gaucheクックブック」
  • 質問: gauche.nightの3回目はあるか?
    • えんどう
      • 規模を大きくするのは目的ではない。
      • ハワイでやりたい。

雑記

先行発売している「プログラミングGauche」を、私も購入しました。ところで、この本の奥付にある書名が、「Gaucheプログラミング」になっていて、その上から「プログラミングGauche」というシールが貼られているのですが、「違っている一箇所」というのは、これなんでしょうか?