作者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