2011-05-01から1ヶ月間の記事一覧

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が見つかる前のアトムがすべて失なわれてしまう。そこで偉…