We study the type inference problem for a system with type classes as in the functional programming language Haskell. Type classes are an extension of ML-style polymorphism with overloading. We generalize Milner's work on polymorphism by introducing a separate context constraining the type variables in a typing judgement. This lead to simple type inference systems and algorithms which closely resemble those for ML. In particular we present a new unification algorithm which is an extension of syntactic unification with constraint solving. The existence of principal types follows from an analysis of this unification algorithm.
我们像函数编程语言Haskell一样研究具有类型类的系统的类型推断问题。类型类是带有重载的ML样式多态性的扩展。我们通过引入一个单独的上下文来约束类型判断中的类型变量,来概括米尔纳关于多态性的工作。这导致了简单的类型推断系统和算法,这些系统和算法与ML非常相似。特别是,我们提出了一种新的统一算法,它是句法统一与约束求解的扩展。通过对这种统一算法的分析,可以得出主体类型的存在。 P>
机译:通过归约进行类型检查与通过评估进行类型检查之间的对应关系
机译:通过归约进行类型检查与通过评估进行类型检查之间的对应关系
机译:具有单例类型和证明不相关性的类型理论的模块化类型检查算法
机译:没有静态类型检查的类型名称已经提高了API的可用性(只要类型名称正确):实证研究
机译:通过良好的键入和类型检查来保护SQL注入。
机译:什么类型的农村?使用本地定义的居住类型类别评估人口较少的省在小区域级别的出生时预期寿命的变化
机译:对类型类和类型族进行统一类型检查