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

  • 会場提供ありがとうございました
  • 参加10人で盛況
  • コードを大画面テレビに映して発表したらいろいろ叩かれた
  • なんであんなに冗長な書き方ばかりしてたんだろう、とあとで考えたら、andとorが手持ちの評価器で動かないから徹底的に避けようとしてたらしい
  • ということで、家に帰って問題4.4の解答を評価器に組み込んでandとorが評価できるようにした。めでたし
    • id:hoge1e3さんへ。andとorはプリミティブ扱いではうまく動かないみたいです
  • MacBookが重いからといってLet's noteを持っていったらambがうまく動かなくてはまった。これからは重くても持っていくことにします><
  • 問題4.40
  • おおむねこれでいいようだった
  • 問題4.41
  • 最初に書いた解答はfilterが著しく余分だった(これ)。普通のプログラムなのにandとorを避けようとしてたらしい。その場で書き直したのはこんな感じ
  • いちいち木をたどるのを書いてみたやつ(これ)は不評。相変わらずandとorを避けようとしてえらく冗長になってるし。家に帰ってもっとましな形に書き直そうと考えたら、結局、上のと同じpermutations+filterの形に行き着く気がした
  • ということでpermutations+filter×1がファイナルアンサーかな
  • 問題4.42
  • ambを使うコード(これ)を理解してもらえなかった。ambの実装によっては動かないんじゃないかとか
  • でも、SICPの評価器の仕様だとこれで動くと思うし、実際に動いて正解が出るわけですが。ambでクロージャを選択するのはそれほど不自然じゃないと思うんだけど。ambを使うパートなんだから条件選択もambでいいと思うんだけどなあ
  • xorで書く方がわかりやすいらしい(こんな感じ
  • 例の緑のアイコンの間違いについて
  • 答えを前に映して発表する習慣は復活させた方がよさげ