第92回 素人くさいSICP読書会(at 月島某所)

  • 会場提供ありがとうございました
  • コーヒーごちそうさまでした
  • TODO:次回はほかのおみやげの有無にかかわらず杏仁豆腐を買う
  • 今回は新たにyukobaさんが参加
  • 1問も進まなかった。最近まれに見るgdgdの回
  • 3.5.4の本文のコードを動かそうとしたのが運の尽き
  • 動かないのはコードが間違ってるせいだと思い込んで2時間浪費
  • なぜか平田さんだけが動いてあとの4人が動かない→DrSchemeで動作することが判明
  • 正解はGaucheのバージョン依存だった。平田さんは0.8.3と古いバージョンでほかの人は0.8.12とか新しいバージョン(自分のは0.8.10だった)
    • 内部defineではなくletrecにすればすべての処理系で動作する
    • Cのプロトタイプ宣言のように、yの定義の前に(define dy #f)とかダミーを入れておくと動作する
  • 実装依存。(delay dy)でdyの名前の解釈ごとdelayするか、dyがないと怒るかの違いらしい
  • よく見たら注71に「この手続きはすべてのScheme実装で働くとは保証されない」って書いてあるし
  • 動くコード一式をここに貼っとく