2011年5月16日月曜日

Scheme手習い Chapter 5



3でlatの再帰、4で数の再帰、5はリストの再帰。




  • ここで第1の戒律、第4の戒律が最終版に。アトムのリストlatの場合、数nの場合、S式のリストの場合の再帰の掟が決まる。

  • *関数は'(), (cons a l), (cons l l)のいずれかの上で動くから、3つ質問をする。

  • equal?を定義した

  • equal?を使って任意のS式とリストを取るremberに書き直した

  • 第6の掟「関数が正しいときのみ簡素化せよ。」が登場。


    • 書いてて今までの章よりも関数のcondが多かった印象。



  • eqan?以外の関数の中のeq?や=に関してはequal?で一般化出来る。


気付き感想




  • 最初はアトムから始まり、cons、lat・数・リストの再帰と来てなんだか少しずつ扱えるデータが増えてきたような。

  • それに伴ってeq?, =, eqan?, equal?とより多くのデータを扱える関数を使ってremberを定義しなおしたり、面白い!

  • equal?を使う事で処理が簡素化出来て理解しやすくなった。すごい。

  • p91の注に出てくる話(andもorもcondの省略形として書く事は出来る)がちょっと発想の転換な気がして面白かった。





0 件のコメント:

コメントを投稿