入力した結果でも、まったく変わりません。このような特別な入力を、不動点というらしいです。不動点である」と言っている式)です。不動点である」と言っている式2)と同じ事です。内容を決めたときの式とまったく同じです。)を使っている=再帰する関数であるという事を、式で書いたもの、そのものずばりです。再帰する関数である」という事と同じ!!*4。いう具体例で考えてみた不動点ですが、これは、最初の方の図の下半分の例です。実例を見てみた事で、下半分のリアリティが出たでしょうか。上半分は?実例で見た説明を当てはめると、最初の方の図はこうなります。combinatorであるとかいうらしいです。)が出力される、と言う訳です。するとYから、そいつの「不動点である関数」=「再帰する関数」が出力されてきて、関数だけで再帰が出来るという訳です。Yコンビネータは、使い道がない?Yコンビネータの一番偉いところは、そのおかげで、関数(正確にはλという単純な文字列変換ルール)だけでプログラムがすべて表現できるという事だと思います。それによって、プログラミングに関するいろんな原理の研究に数学のスーパーパワーを使いやすくなります。数学のスーパーパワーを使うと、完全に正しいと保証されたプログラミングに関する技術が産み出せます。その辺のさわりを、きしださんが解説されています。結論をいえばYコンビネータには、なにかの処理を便利にする能力はない。関数であらゆる計算ができるということが示せれば、あとは用なしだ。理論の礎としてうまってしまえばいい。http://d.hatena.ne.jp/nowokay/20090413#1239617061といいます。たしかにYコンビネータ自身は、結局のところ再帰を産み出してくれるだけです。単なる再帰なら、実際のプログラミングではYコンビネータなんて使わなくても出来ます。Yコンビネータとか不動点とかは、偉い学者さんとかが研究に使えばいいもので、普通のプログラマには何の意味もないモノなのでしょうか?さあ、Yコンビネータ(不動点演算子)を使おう!意味がない事はないと思います。Yコンビネータとか不動点とかで出てくる考え方は、理論だけじゃなく、実際のプログラミングでも応用できたりもします。それを見てみましょう。...つづくというわけで、Haskellやろうぜ!(おまけ)いきなりですが、Haskellの宣伝です。ぬぬ、スタックオーバーフロー。これは、式がそのまま評価されてしまうことに問題があるようです。そこで遅延評価するための変換をいれてみます。http://d.hatena.ne.jp/nowokay/20090409#1239268405ぬぬ、またしてもオーバーフローこれは、boolで真の場合も偽の場合の式もその場で評価されてしまって無限ループになってしまうためで、やっぱり遅延評価しないといけません。http://d.hatena.ne.jp/nowokay/20090409#1239268405きしださんのエントリで、普通のプログラミング言語の規則である評価順番が小さな躓きポイントとして挙げられていました。ただでも込み入った事を考えているのに、こういった躓きポイントは痛いです。それに、それを回避するために、本当は「正しい」はずのコードをもう一捻りして書き換えてやらなくてはいけないのも、めんどくさいしすっきりしません。Haskellなら大丈夫。デフォルトで遅延評価だからです。必要なところを必要なだけ評価していくので、このような問題は起きません。単純に正しく書いておけば、きちんと動くプログラムになってくれます。Yコンビネータというか不動点演算子をこんなにすっきり書く事が出来ます。"に書き換えた式)そのものです。大文字と小文字が違うだけで、プログラムとこの式はまったく同じですね。定義をそのまま正しく書いてやるだけで、ちゃんと動くプログラムになってます。評価順とか関係ないです。すごいですHaskell。詳細を見るWebにHaskellの情報は結構ありますが、玄人向けです。Haskell)」というドキュメントがありますが、これは「天才な人にはやさしい」という意味なので気を付けて下さい。ふつうの人には、この本がふつうの意味でやさしいくていい感じです。興味が湧いた人は、まずこの本を読む事をお勧めします。*1:何か元ネタがあるんでしょうか*2:ちなみに、Smalltalkもif文やwhile/forなしの様ですね。Booleanのメソッド+クロージャ/クロージャのメソッド(?)+クロージャで実現しているようです。まとめTopHatenarで購読者数またはブクマ数のいずれかでトップ100にランク入りしてる人達のエントリで、より多くのTopHatenarの人に取り上げられてるアイテムを集計しました。都合上、はてなダイアリーだけを対象にしてます。正確には、はてブでカテゴリが「生活・人生」に分類されているページを対象として、amazonへのリンクがはてブに抽出されている数をカウントしています。人数が同じ場合は、紹介回数で順序を付けています。そのアイテムを取り上げているエントリへのリンクも付けました。ほかのはてブカテゴリもデータを取ってあるので、それらも後でエントリにしたいと思っています。tophatenars)おとなの小論文教室。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。