脳ざらし紀行


2003-10-25

_ [ネット] せっかくだから

せっかくだから、赤い扉を選ぶかわりに、階乗関数を書いてみた。うーん、遅延評価しないから

(((if-then-else true) x) y)

の場合、xだけでなくyも評価してしまって、再帰的関数が無限ループに落ちてしまう。

(((if-then-else true_) (delay x)) (delay y))

と書く必要がある。ちょっといやだ。考えたけど良く分からない。何かマクロを定義したら回避できるのかな。アイディア募集。

とりあえず、fact2.scm。10!を計算するのに、30秒ほどかかる。

にしてもアレですね。Turing機械の場合は「右に左にと動いて愚直にがんばってるなあ」と何をしているかが目に見えて分かるけど、ラムダ計算の場合は何やってんだかさっぱり分かりませんね。

_ [ネット] Wikiの構造化

Wikiの構造化に関しては「はてなダイアリーキーワード」という壮大な実験を参照するといいかも。

。「はてなダイアリーキーワードのツリー機能がどのように導入され、議論され、最終的に廃止されるに至ったか。」

個人で使おうが、複数で使おうが、Wikiに構造を入れたらその構造をどうするかに悩んで、試行錯誤する事になるだろう。それなら、同じ時間を「ページにどのような名前を付けるか」考えるのに使うべきだと思う。

ある漠然とした考えに適切な名前をつけてページを作り、関連するだろうWikiページにリンクする。ここら辺がWikiで一番おもしろいところだと思う。

ちょきではページの下に関連するだろうページへのリンクを「関連」というかたちで作るようにしている。

_ [ネット] if-then-elseつづき

wtakuoさんから情報をいただいたので、書き直しました。fact3.scm

_ [ネット] 勘違い

勘違いしていた。遅いのはlambda2numであって、ラムダ計算自体は遅くなかった。

16!で1秒。20!で15秒程度。ちなみに20!は「2432902008176640000」。

お名前:
E-mail:
コメント:
本日のリンク元

最近のコメント

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|04|05|
2011|04|
2012|03|07|
2013|01|02|07|
トップ «前の日記(2003-10-24) 最新 次の日記(2003-10-26)» 編集