作者SansWord (是妳)
看板PLT
標題Re: [心得] Y Combinator 與 Mutual Recursion
時間Fri Jun 4 07:38:44 2010
: 解決方法也很簡單,就頭痛醫頭腳痛醫腳,做一個 t 與 t -> a
: 同構的遞迴型別囉。
: data Fix a = Rec (Fix a -> a) -- Fix a 和 Fix a -> a 同構
這邊有個疑問
在Function 裡面定義recursive function 會有問題~
所以用Y combinator 可以搞定~
那為什麼
data 層次的recursive 定義不會遇到類似的問題?
這與haskell的什麼語言特性有關嗎?
是否有些語言可以支援這樣的宣告,有些卻不行? 若是如此,差別又在哪裡?
似乎有點鑽牛角尖了....^^" 不過我對haskell 中 data 和type 的互動的概念有點模糊
==
不過我好像隱隱約約可以回答這個問題~
這樣的語法是Type Constructor宣告
看似會有狀況,不過只要導入 Kind 的概念,則
Fix:: * -> * (這邊正確嗎?我這裡還沒有很清楚)
就能夠順利的用 W-Alogorithm 做 Unification
也就可以順利的進行 Type Inference?
==
會打問號是因為我沒辦法很肯定自己的回答是否正確~
目前正處於念了一些書可是還在相互整合的階段....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.45.222.198
※ 編輯: SansWord 來自: 114.45.222.198 (06/04 07:39)
1F:→ SansWord:我想要被打通任督二脈啊!讀的東西還不能很連貫的互動... 06/04 07:42