[英]GADTs, TypeFamilies type inference failure when implementing “mixins”
[英]Fundeps and GADTs: When is type checking decidable?
我正在閱讀一篇關於Haskell的研究論文以及如何實現HList,並想知道所描述的技術何時對於類型檢查器是否可判定。 另外,因為你可以用GADT做類似的事情,我想知道GADT類型檢查是否總是可判定的。
如果你有它們我更喜歡引用,所以我可以閱讀/理解解釋。
謝謝!
我相信GADT類型檢查總是可判定的; 這是不可判斷的推論,因為它需要更高階的統一。 但是,GADT類型檢查器是您在例如中看到的證明檢查器的限制形式。 Coq,構造函數構建證明術語。 例如,將lambda演算嵌入到GADT中的經典示例為每個縮減規則都有一個構造函數,因此如果要查找術語的正常形式,則必須告訴它哪些構造函數可以使用它。 暫停問題已移至用戶手中:-)
您可能已經看過這個,但在微軟的研究中有一些關於這個問題的論文集: Type Checking papers 。 第一個描述了格拉斯哥Haskell編譯器中實際使用的可判定算法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.