続いて、subst と subst2。これは答えを見ちゃった。だって隣に書いてあるんだもの。…
2014年1月10日
1 分
さあ、今日は3章の残りをやっつけるぞ。まずは insertR から。…
2014年1月10日
1 分
書いてみたっていうか、内側のリストが空でないのが保証されているのなら、map (と car )を使うほうが素直に感じる。まあ、本(「Scheme手習い」)では順を追って説明していくのだろうけど。…
2014年1月9日
1 分
関数 first は空のリストまたはリストのリスト(ただし内側のリストは空ではない)を引数に取り、内側の書くリストの最初のS式からなる新しいリストを返す。…
2014年1月9日
1 分
rember は remove member の略だそうだ。関数 rember はアトム a とリスト lat を引数に取って、lat の中の一番最初に現れる a と同じアトムを取り除いたリストを返す。…
2014年1月9日
1 分
「Scheme手習い」本文からは脱線するけど、関数 lat? の定義を見たとき、高階関数 map が使えるんじゃないかと思った。もちろん Gauche にも map は用意されている。…
2014年1月8日
1 分
lat?…
2014年1月8日
1 分
関数 eq? は2つの引数を取り、同じものならば真(#t)を返す。…
2014年1月7日
1 分
関数 atom? は任意のS式を引数に取り、それがアトムであるとき真(#t)を返す。といっても Gauche に atom? は用意されていないので、まずは脚注にある定義を写経。…
2014年1月7日
1 分
関数 null? は引数が空リストのとき真(#t)を返す。…
2014年1月7日
1 分