Re: [問題] Free Monad 是怎麼來的?

看板PLT (程式語言與理論)作者 (Cindy Wang)時間10年前 (2013/10/30 21:27), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串3/5 (看更多)
※ 引述《xcycl (XOO)》之銘言: : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 78.151.174.221 : ※ 編輯: xcycl 來自: 78.151.174.221 (10/30 09:26) : 推 CindyLinz:我覺得這個結構看起來跟 church number 有點像說 ^^ 10/30 20:24 : → CindyLinz:church number 作加法時就是把 succ 丟進去; 乘法是把 10/30 20:24 : → CindyLinz:add 丟進去.. 10/30 20:25 : → suhorng:喔~ 好像一個要從 X0 取? 10/30 20:43 : → suhorng:@1F church number 那邊不太懂 QQ 10/30 20:43 參考這邊.. http://en.wikipedia.org/wiki/Church_encoding Church 在只有函數的 lambda calculus 裡面定義 0 為 \f \x -> x 1 為 \f \x -> f x 2 為 \f \x -> f (f x) 3 為 \f \x -> f (f (f x)) ... 我覺得這邊的 f, 有像 free monad 裡面留個位置把 functor 丟進去的 fu~ succ = \n \f \x -> f (n f x) 用來把 n 變成 n+1 就是把 f x 丟給 n 以後, 再在它外面套一層 f plus (wiki 上的) = \m \n \f \x -> m f (n f x) 不過我推文的時候心中想的是 plus = \m \n \f \x -> (m succ n) f x or plus = \m \n -> m succ n (你看你最愛的 pointless 來了... XD) 就覺得這個套 N 層 f.. 有點那個味道, 哎唷~ 我也不知道怎麼講清楚啦 orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.121.80.249

10/30 21:38, , 1F
喔喔喔~~XDDD
10/30 21:38, 1F

10/30 21:39, , 2F
a -> a, 有點 open recursion 的味道 XD?
10/30 21:39, 2F
文章代碼(AID): #1ISGbKQy (PLT)
文章代碼(AID): #1ISGbKQy (PLT)