Re: [Ruby] recursive lambda
※ 引述《noctem (noctem)》之銘言:
: ※ 引述《Etude ( )》之銘言:
: : fix = lambda {|f|
: : lambda {|x| f[lambda {|y| x[x][y]}]
: : }[lambda {|x| f[lambda {|y| x[x][y]}]}]
: : }
: : 推 noctem:出現了!XD 聽說這東西叫做 Z combinator... 04/23 02:07
: : 推 kojilin:Y combinator!?想得出來的人真是... 04/23 18:18
: http://en.wikipedia.org/wiki/Y_combinator
: Wikipedia 上說這個叫做 Z combinator.
: Y combinator 則是 Y = \f . (\x . f (x x)) (\x . f (x x))
: 但 strict 的語言沒法直接用 Y combinator.
: Y combinator 是 Curry 發現的. 後來還發現了一大堆 fixed-point
: combinators. 只能說這些人腦筋真好...
ohoh感謝
我是看這邊
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/20469
Y = proc { |builder|
proc { |f| f.call(f) } \
.call ( proc { |f|
builder.call (proc { |x| f.call(f).call(x) }) })
}
這邊是推Y-Combinator是這樣
from "The Little Schemer" !?但是我沒看過orz..
覺得這...連要看他推都很花腦力了~
koji
※ 編輯: kojilin 來自: 140.92.57.104 (04/24 10:28)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 8 篇):
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章