前フリ WiKi風パーサを作っていたある日のこと、自分のプログラミング風景が画家っぽく見えたので我ながら感心してしまった。普段からやっていることだけど、ポールグラハムが言っていることと自分の作業がリンクしてると実感したのは初めて。せっかくだから記録しておくことにした。--hira Step 1 行をパースして、同じ種類の行は一つのブロックにまとめたい。 でも「一つのブロックにまとめる」という部分がピンとこない。 行とかパースとかは置いといて、こんなリストで下書きしてみよう。 carが種類でcadrが行の内容とみなす。 (define s '((1 1) (2 2) (2 3) (3 4) (3 5) (1 6) (2 7))) Step 2 行のパースはどうしよう。代わりにcadrを10倍することにする。 関数の仕様としてはこんな感じ。 cadrを10倍する carが同じなら一つにまとめる
![Scheme:ある日のプログラミング風景](https://cdn-ak-scissors.b.st-hatena.com/image/square/53a987f8da95ff3323da15345495ff0ac5db3cf3/height=288;version=1;width=512/https%3A%2F%2Fpractical-scheme.net%2Fwiliki%2Fthumbnail-placeholder.png)