Type assignment in programming languages
Type assignment in programming languages
复制标题
编程语言中的类型分配
DOI:
--
复制
发表时间:
1984
期刊:
影响因子:
--
通讯作者:
L. Damas
中科院分区:
文献类型:
--
作者:
L. Damas
The purpose of this work is to present and study a family of polymorphic type disciplines for programming languages similar to the type discipline of ML, the metalanguage of the LCF system, which are based on the use of type inference systems to define the notion of well typed expressions and programs and on the use of type assignment algorithms to compute the type or types that can be inferred for those same expressions or programs. Previous work on the theoretical foundations of the ML type discipline is reexamined and completed here. It is also extended in two directions, namely to handle overloading of identifiers and also to cope with a semantics involving references to a store as first class objects. For each of the theories studied here we present proofs of the semantic soundness of type inference, i.e. that well typed expressions evaluate to objects of the correct type and that in particular they do not lead to run-time errors like trying to add an integer to a list. Algorithms for computing the type or types which can be inferred for expressions are also presented together with proofs of the soundness and completeness of the algorithms, i.e. that the algorithms compute exactly the types which can be actually inferred for the expressions.