タグ

2011年8月14日のブックマーク (6件)

  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
  • おとうさんにもわかるYコンビネータ!(絵解き解説編) - よくわかりません

    先日YコンビネータのきしださんのYコンビネータのエントリが話題になっていました。 ずいぶん日にちが経ってしまいましたが、自分も、自分なりにYコンビネータのあたりを絵解きで整理してみたいと思います。きしださんのエントリタイトル*1に引っ掛けて、目標として、自分の父親(非プログラマ。その辺のおっさん)でも解る内容を目指します。 なぜ不動点演算子というのか、不動点だったらなぜ再帰なのか、この辺りも含めて、実感を持って納得できればいいなと思います。 きしださんのエントリのおさらい 題の前に、きしださんのエントリをおさらいしておきます。 Yコンビネータはただのオモチャじゃないんだよ 関数だけで色んな事が出来る 条件分岐をする関数ってのもある。 再帰(ループ)を作れる関数もある。←これがYコンビネータ。 数値も関数で表現できる。 つまり、関数だけで、条件分岐も、再帰(ループ)も、数値も作れちゃう!!

    おとうさんにもわかるYコンビネータ!(絵解き解説編) - よくわかりません
  • swatmac.info - このウェブサイトは販売用です! - swatmac リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • not found

  • プログラミングお題一覧 - No Programming, No Life

    お題 一行説明 最終更新日 Hello, World まずはここから 2010-10-12 リストの内容比較 片方にしかないものと両方に在るものを出力(関連記事) 2010-10-23 テストの実装 JUnitなどのテスト実装例 2010-10-13 FizzBuzz FizzBuzzを素直に実装 2010-10-18 FizzBuzz(Nパターン) FizzBuzz...をNパターンで実装 2011-08-15 ランダム文字列 半角英数からなる16桁の文字列をランダムに生成する 2011-03-26 時間帯重複チェック 二つの時間帯が重複しているかチェックする 2011-03-29 時間帯重複チェック(応用編) 複数の時間帯の重複時間帯を抽出する 2011-03-29 文字列を先頭から見て同じところまで除去 文字列の先頭から同じ部分までを除去する 2011-08-20 ある金額になるコイ

    プログラミングお題一覧 - No Programming, No Life
    h6n
    h6n 2011/08/14
  • お題:文字列を先頭から見て同じところまで除去 - No Programming, No Life

    プログラミングお題の一覧はこちら ※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。 説明 複数の文字列を受け取り、受け取った文字列をそれぞれ先頭から見てゆき、すべてが同じ内容であれば除去した内容の文字列を返却する関数を書いて下さい。 ※関数の引数と戻り値については複数の文字列が受け渡しできれば型や方法は問いません*1。 例1)hoge("abcdef", "abc123") 戻り値 => "def" と "123" ("abc" が除去される) 例2)hoge("あいうえお", "あいさんさん", "あいどる") 戻り値 => "うえお", "さんさん", "どる" ("あい" が除去される) 例3)hoge("12345", "67890", "12abc") 戻り値 => "12345", "67890", "12abc" (一

    h6n
    h6n 2011/08/14