Re: [Ruby] recursive lambda

看板Ruby作者 (noctem)時間17年前 (2007/04/24 09:38), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串6/8 (看更多)
※ 引述《godfat (godfat 真常)》之銘言: : 不過套上一層間接呼叫之後,就可以正常使用了: : Y = lambda{|f| : lambda{|x| lazy{f[x[x]]} }[lambda{|x| lazy{f[x[x]]} }] : } 嗯,這樣也蠻漂亮的~ : 那 Yk = (L L L L L L L L L L L L L L L L L L L L L L L L L L) 真讓人傻眼! : 我真想懷疑這是用程式跑出來的結果 O_o 哈哈... 你漏了 L 的定義: Yk = (L L L L L L L L L L L L L L L L L L L L L L L L L L) L = \a b c d e f g h i j k l m n o p q s t u v w x y z r . (r (t h i s i s a f i x e d p o i n t c o m b i n a t o r)) (以上用比較簡單的語法, \ 是 lambda, a b c ... 是 lambda 的參數, application 只用空格隔開) 有個 combinator 專家和我解釋過,重點在那個 r. 在 L 的參數之中 r 被偷偷提到最後面,同時他是 combinato"r" 的最後一個字母。其他都是 裝飾而已。不過細節我就忘了... 誰要來解說嗎? :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.157.71

04/24 20:53, , 1F
我現在才發現那是 this is a fixed point...@@ 以為沒規律
04/24 20:53, 1F

04/24 20:53, , 2F
這樣應該很清楚地表達了有無窮多個 O_o
04/24 20:53, 2F
文章代碼(AID): #16BL-Ze7 (Ruby)
討論串 (同標題文章)
文章代碼(AID): #16BL-Ze7 (Ruby)