tup+ は2つのタップを引数に取り、それぞれの1番目同士、2番目同士・・・を足し合わせたタップを返す。タップというのは、数のリストのことだ。「数のリストのことをタップ(あるいはタプル)と呼びましょう」と書いてあるから、Scheme の用語というよりこの本(「Scheme手習い」)での用語と考えていいのかな。…
2014年1月11日
1 分
×は掛け算だ。o* と書くことにしよう。n×m を言い換えると、nをm回足したものということができる。だから o* を定義するには、m を0になるまで1ずつ減らしながら、nを足していけばいい。1ずつ減らしていくのは (sub1 m) で、最終条件は (zero? m) だ。…
2014年1月11日
1 分
今日から第4章だ。…
2014年1月11日
1 分
今まで Gauche のインタラクティブモードで作業をしてきたけど、そろそろコードを打ち込むのが大変になってきた。間違えたりすると最初から打ち直しだし。…
2014年1月10日
1 分
3章の最後は、multisubst だ。 (multisubst new old lat) は lat の中のすべての old を new に置き換える。…
2014年1月10日
1 分
multiinsertR…
2014年1月10日
1 分
multirember はアトム a とラット lat を引数に取り、lat の中のすべての a を取り除く。…
2014年1月10日
1 分
続いて、subst と subst2。これは答えを見ちゃった。だって隣に書いてあるんだもの。…
2014年1月10日
1 分
さあ、今日は3章の残りをやっつけるぞ。まずは insertR から。…
2014年1月10日
1 分
書いてみたっていうか、内側のリストが空でないのが保証されているのなら、map (と car )を使うほうが素直に感じる。まあ、本(「Scheme手習い」)では順を追って説明していくのだろうけど。…
2014年1月9日
1 分