2008-09-01から1ヶ月間の記事一覧

再帰してみる

以前から何度か自分でもラムダのみで再帰(Yコンビネータ)を導きだしてみようと挑戦していたのだが、結局作れずじまいだった。しかしLazy Kで書いてみると意外にも書けてしまった。 まずはこれ。 sii(sii)これはいくらやってもsii(sii)になる。まぁこれだけ…

さらに頑張ってみる

チャーチ数3を考える。その前に、 X`YZ s`kXYZとなる。なぜか? X`YZ kXZ`YZ s`kXYZこれで内側の関数の引数を外に出すことができる。 というわけでチャーチ数3。 X`X`XY X(kXY`XY) X(s`kXXY) X(s`kXXY) X(ksX`kXXY) X(s`kskXXY) X(s`kskX`iXY) X(s(s`ksk)iXY…

ArrayList ArrayList ArrayList List

public void func(out System.Collections.Generic.List outList);

頑張って短くする

昨日の。もうちょっとなんとかやってみる。 FXY X`XYとりあえずXを増やさないといけないのでFをsABとしてみる sABXY AX`BXYBXにYを引数として渡したいので、Aをsとしてみる sX`BXY XY(BXY)BXYがXYになればいいので、Bはiでいい ssiXY sX`iXY XY(iXY)はじめの…

かんやくしてみる

ここ見ながらとりあえずチャーチ数で2を表現してみる。 ^f^x`$f`$f$x ^f``s`k$f``s`k$fi ``s``s`ks``s`kki``s``s`ks``s`kki`kiなんかできた。そこでこれをちょっと書き直して、 s(s`ks(s`kki))(s(s`ks(s`kki))`ki)とかした上で引数FとXを付けて本当にチャー…

寄りすぎ

http://blogs.wankuma.com/tyappi/archive/2008/09/01/154906.aspx http://blogs.wankuma.com/episteme/archive/2008/09/01/154943.aspx 思うにプログラミング言語や環境が初心者や向上心の無い馬鹿に寄りすぎなのではないか?確かに理解しやすくて面倒なこ…