|
|
1
9
我相信GADT类型检查总是可以判定的;这是不可判定的推论,因为它需要更高阶的统一。但GADT类型检查器是一种限制形式的证明检查器,您可以在例如Coq中看到,在Coq中,构造函数建立了证明项。例如,将lambda演算嵌入GADTs的经典示例中,每个实例都有一个构造函数 还原规则 ,因此,如果你想找到一个术语的标准形式,你必须告诉它哪些构造器会让你找到它。停止问题已转移到用户手中:-) |
|
|
2
1
Type Checking papers . 第一个描述了格拉斯哥哈斯克尔编译器中实际使用的可判定算法。 |