簡體   English   中英

Fundeps和GADT:什么時候類型檢查可判定?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM