Scheme修行を読む。

Scheme手習いについて

Scheme手習いを読み終わりました。

Scheme手習い

Scheme手習い

本読んで内容を書いてGitHub - hanachin/TheLittleSchemer: Scheme手習いのテストケース等々にアップしてブログを書いてid:yamanetoshiさんに読んだエントリ投入のお知らせを書いて、疑問点等補足してもらって…という感じで読み進めました。
エントリあげる間隔はちょっとゆっくり目でしたが orz
ひとまず一冊読み終える事が出来て嬉しいです。
Scheme手習いの冒頭には2度以下で読むなと書いてあったので今度は同級生の方ともう一度読んでみようかと思ってます。

Scheme修行について

続編のScheme修行も購入しました。

Scheme修行

Scheme修行

以前から手元にあって、手習いを読み終わったら読もうと思ってわくわくしていた本です。
手習いを読み終わった翌日、もう我慢出来なくなってしまって早速読書用のリポジトリGitHub - hanachin/TheSeasonedSchemer: Scheme修行読書用リポジトリを建ててマクドナルドに居座り一気に1章読んでしまいましたw

前回の書き方

前回は質問に対応したテストを読みながら書いていって、その質問の答えを定義して、テストが通るか確認して、というTDD的な流れで進めました。
テストケースのファイルを章ごとに1.scm、2.scm、3.scm...と作っていって、テスト用のマクロをtest-util.scmで少しだけ定義してテストケース冒頭で読み込み、本に出て来る関数の定義は全部func.scmの1ファイルに書いて、という感じの構成にしてみましたが最終的にfunc.scmが985行になりました。
全部1つに定義しちゃうと1章ごとにやった内容を確認しづらいし区切りがつけづらいかな、と思ったり。
あとコミットメッセージも謎の英語でぱっと見分からなかったような orz

今回はどうしよう

テストケースを書いてから答えを書く姿勢はそのままで行こうと思います。
テストケースになりそうな質問を本文から全て拾ってから答えを考え読み進めるようにします。
ファイルの構成は、前回func.scmが大きくなったのをふまえ、それぞれの章で使う関数の定義や質問の答えを11.scm、12.scm、13.scm...という風に1章1ファイルで書いていこうかと。
よく重複して定義してしまう関数は別途切り出したり、前章で定義した関数を使う際はloadで前章を読み込もうかと。
テストケースはtest11.scm、test12.scm、test13.scm...のようにtestを頭につけて1章1ファイルずつ作っていきます。
加えてnotes.orgにメモを取って、それもgitで管理する事にします。
後、コミットメッセージを日本語でちゃんと書くようにしてみます。

目標

前回、1章読む間隔が結構あいてしまったので1週間に1章は読むようにして、3ヶ月以内に読了していけるように頑張りたいです。
Scheme手習いだと2回以下で読み切るな、だったのがScheme修行だと5回以下で読み切るな、となってるので前回以上に読み込まなければならないですね…
楽しんで読めると嬉しいな。1章読んだエントリは後ほどあげます。