第139回 素人くさいSICP読書会(at コントロールプラス株式会社)

  • 会場提供ありがとうございました。
  • この会場はこれが最後になりました。これまでどうもありがとうございました!
  • 問題4.60の次の本文から
  • hisaさんから下のルールの上下をひっくり返していいかどうかという疑問が
(rule (append-to-from (?u . ?v) ?y (?u . ?z))
      (append-to-from ?v ?y ?z))
  • 結論は「ダメ」。止まらなくなる。いい復習になった
  • 問題4.61
  • これは実行してみるだけ
  • 問題4.62
  • 最初に↓と書いてすぐに2行目が無駄なことに気付く
(rule (last-pair (?x) (?x)))
(rule (last-pair (?x ?y) (?y))
(rule (last-pair (?x ?y . ?z) ?u)
      (last-pair (?y . ?z) ?u))
  • 一応、動いたけど、hisaさんの解答を見て、さらに?yが無駄なことを発見
  • 最終的にはこんな感じ
(rule (last-pair (?x) (?x)))
(rule (last-pair (?x . ?y) ?z)
      (last-pair ?y ?z))
  • (last-pair ?x (3))では当然、ふっとぶ。?xが前に延々と追加されて、その?xが永遠にマッチしないから
  • 問題4.63
  • 特に難しいところはない。問題4.69の前フリらしい
  • 人名の読み方がよくわからない
  • 4.4.2の最初を読む
  • 訳文が相変わらずわかりずらい点について