TheLittleSchemer

Scheme手習い Chapter 10

ついに10章まで来てしまった。この章で最後。手習いを終えたら修行が待っている。 いつも通り読みながらの気づき等 読みながらのメモ エントリ(entry)とは(集合のリスト ←と同じ長さの値のリスト)のペア (new-entry setl l)でエントリを作れる lookup-in-ent…

evens-only*&co

ちょっと時間があったのでダラダラと書いてみたのをgistにあげてみました。

Scheme手習い Chapter 7

気付きとか 集合の例として出ているものについて(p.113) (apple peaches apple plum)や(apples peaches pears plums)などリストの中の要素に複数形のものがある。 set?がどんな関数か考えさせるために複数形の名詞を入れてるのかなぁ(複数形の名詞だからとい…

Scheme手習い Chapter 6(再)

算術式とは (数を含む)アトムか、2つの算術式を+か×か↑で結合したもの 算術式の例として 1 (アトム) 3 (アトム) 1 + 3(1と3、2つの算術式を+で結合) 1 + 3 × 4(1と3、2つの算術式を+で結合した算術式と、4を×で結合) cookie(アトム) 算術式の表現 「カッコは…

Scheme手習い Chapter 6

この章では抽象化っぽい事をやってるのかな?とりあえず気付き等を。 この章では算術式(簡単な計算式とか?)をS式で表現して、計算式を扱う手続きを抽象化 気付き 算術式だからarithmetic expressionでaexp、number expressionでnexp? S式で算術式を表現すると…

Scheme手習い Chapter 5

3でlatの再帰、4で数の再帰、5はリストの再帰。 ここで第1の戒律、第4の戒律が最終版に。アトムのリストlatの場合、数nの場合、S式のリストの場合の再帰の掟が決まる。 *関数は'(), (cons a l), (cons l l)のいずれかの上で動くから、3つ質問をする。 equal?…

Scheme手習い Chapter 4

Chapter 3までは主にリストを再帰させてたけど今度は数の再帰。自分の中でのまとめリストの時はリストが空かどうかを判定し再帰を終わらせるためにnull?を最初に質問したが、数で再帰する場合は再帰を終わらせるためzero?でゼロかどうか質問する。第5の戒律…

テストの件

id:yamanetoshi さんのところでgauche.testについて触れられてたので自分でも試行錯誤してみた。 gauche.test の件 - /var/log/messages GWなのでよく理解しないままマクロでコネコネした結果こうなったとさ。 f-testでテストしたい関数fと[answer args ...]…

Scheme手習い Chapter 3

GW入ったのもあって早速進めようかと。とりあえず読んでの感想的なremberは「remove a member」p23第1の戒律 (仮)いかなる関数を表現するときも最初の質問はすべてnull?にすべしp35の定義だとmemberが見つかる前のアトムがすべて失なわれてしまう。そこで偉…

Scheme手習い Chapter 2 自分なりの理解、疑問点

再帰きた再帰! ヒャッハー!lat?の定義について 微妙な考えの違いが。本のがnotとかしてない分無駄がないように見えたり。とりあえず本のコードはコメントアウトして自分で書いたのを使うようにしてみました。p.23のmember?についてmember?の定義の最初の質問…

Scheme手習い Chapter 1 自分なりの理解、疑問点

自分なりの理解最後に?が付く関数は#tか#fを返すcarとcdrは空でないリストについてのみ定義される空でないリストのcdrは常に別のリストになるconsの引数は2つ、第2引数はリストでなければならない。結果はリストになる。疑問点に書くべきかと思うけどこっち…