2010/07/30

fold, unfold

Gauche のマニュアル見ても unfold, unfold-right はいまいちピンときませんでしたが、srfi の方読んだらイメージが頭に定着した気がしました。気がしました。
unfold は基本的な再帰的リスト コンストラクタ
fold-right と unfold はある意味で逆操作
unfold-right は基本的な反復的リスト コンストラクタ
fold と unfold-right はある意味で逆操作



プログラミングGauche

2010/07/24

連番リストの歯抜け

scheme でこんなんどうでしょう。

上は再帰で、歯抜けがあったらその歯抜けも追加したリストを次の再帰に渡しています。歯抜けは acc に保存。
下は iota で完全な集合(完全な連番のリスト)を作って、引数との差集合を求めています。


The Little Schemer, 4th Edition

2010/07/21

fold with index : fold/index

でっち上げるとしたらこんな感じでしょうか。

追記

書かなくてもありました。

プログラミングGauche

fold (複数リスト引数)

scheme を始めた当初から「どうなってんだろう?」と気になっていた複数のリストを引数に取れる fold や map 。
cars+cdrs 同様、カンニングしながら書いてみた。

これはなるほど過ぎる。。
receive が一つ余計かな、というか二つ目の receive のところダメかも?

追記

修正版。複数のリストを渡した時に、リストの要素数が違うとエラーになっていた部分を修正。最も要素数の少ないリストが終わるまで処理を行ないます。


プログラミングGauche

cars+cdrs

カンニングしつつ書いてみた。


プログラミングGauche

2010/07/16

「引用」のことがよくわからない

タンブラーとかツイッターとか、あの辺はどうなんでしょう。わりとやりたい放題やってるように見えますが。。

下記の文章を読んでもよくわかりません。
引用(第32条)
[1]公正な慣行に合致すること,引用の目的上,正当な範囲内で行われることを条件とし,自分の著作物に他人の著作物を引用して利用することができる。同様の目的であれば,翻訳もできる。(注5)[2]国等が行政のPRのために発行した資料等は,説明の材料として新聞,雑誌等に転載することができる。ただし,転載を禁ずる旨の表示がされている場合はこの例外規定は適用されない。
(注5)引用における注意事項
他人の著作物を自分の著作物の中に取り込む場合,すなわち引用を行う場合,一般的には,以下の事項に注意しなければなりません。
(1)他人の著作物を引用する必然性があること。
(2)かぎ括弧をつけるなど,自分の著作物と引用部分とが区別されていること。
(3)自分の著作物と引用する著作物との主従関係が明確であること(自分の著作物が主体)。
(4)出所の明示がなされていること。(第48条)
(参照:最判昭和55年3月28日 「パロディー事件」)

自分には判断できません。。
引用の目的上,正当な範囲内
引用する必然性がある
引用する著作物との主従関係が明確である
自分の著作物が主体

「どこまでOK?」迷ったときのネット著作権ハンドブック