so what

2007-06-13

Y combinator

RUBY

http://www.loveruby.net/ja/misc/ycombinator.html
昼休みの息抜きに。とりあえず写経。

fact0 = lambda {|f|
  lambda {|n|
    if n.zero?
      1
    else
      n * f.call(n - 1)
    end
  }
}

y = lambda {|f0|
  lambda {|f|
    f0.call(lambda {|arg| f.call(f).call(arg)})
  }.call(
    lambda {|f|
      f0.call(lambda {|arg| f.call(f).call(arg)})
    }
  )
}

puts y.call(fact0).call(5) # => 120

winebarrel 2007-06-13 00:00

Y combinator
この記事をはてなブックマークに追加
Tweet
  • もっと読む
コメントを書く
« Canny Y combinator: フィボナッチ数 »
プロフィール
id:winebarrel id:winebarrel はてなブログPro
検索
リンク
  • Twitter
  • Bitbucket
  • GitHub
最新記事
  • RailsでMySQLのEXPLAINのやばそうなキーワードに色をつけるやつ
  • Aurora/RDS用プロダクション→ステージング レプリケーションツールを書いた
  • SpringOnion: Railsの遅そうなEXPLAINをログ出力するgem
  • CSVとかTSVをJSON LinesにするツールをGoとRustで書いた
  • qrnというDBベンチマークツールを作った
月別アーカイブ

はてなブログをはじめよう!

winebarrelさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?

はてなブログをはじめる(無料)
はてなブログとは
so what so what

Powered by Hatena Blog | ブログを報告する

スターをつけました

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です 読者をやめる 読者になる 読者になる