Type inference with subtypes

作者: You-Chin Fuh , Prateek Mishra

DOI: 10.1016/0304-3975(90)90144-7

关键词:

摘要: We extend polymorphic type inference to include subtypes. This paper describes the following results: •We prove existence of (i) principal property and (ii) syntactic completeness checker, for with result is developed only minimal assumptions on underlying theory subtypes. •For a particular “structured” subtypes, those engendered by coercions between constants only, we that types are compactly expressible. suggests practical checker structured subtypes feasible. •We develop efficient algorithms such checker. There two main algorithms: MATCH CONSISTENT. The first can be thought as an extension unification algorithm. second, which has no analogue in conventional inference, determines whether set consistent.

参考文章(15)
John C. Reynolds, Using category theory to design implicit conversions and generic operators Semantics-Directed Compiler Generation, Proceedings of a Workshop. pp. 211- 258 ,(1980) , 10.1007/3-540-10250-7_24
Mitchell Wand, Complete Type Inference for Simple Objects logic in computer science. pp. 37- 44 ,(1987)
Satish Thatte, Type Inference with Partial Types international colloquium on automata languages and programming. pp. 615- 629 ,(1988) , 10.1007/3-540-19488-6_146
John C. Reynolds, Three approaches to type structure colloquium on trees in algebra and programming. pp. 97- 138 ,(1985) , 10.1007/3-540-15198-2_7
John C. Mitchell, Coercion and type inference symposium on principles of programming languages. pp. 175- 185 ,(1984) , 10.1145/800017.800529
Prateek Mishra, Uday S. Reddy, Declaration-free type checking symposium on principles of programming languages. pp. 7- 21 ,(1985) , 10.1145/318593.318603
Tsung-Min Kuo, Prateek Mishra, Strictness analysis Proceedings of the fourth international conference on Functional programming languages and computer architecture - FPCA '89. pp. 260- 272 ,(1989) , 10.1145/99370.99390
Daniel Leivant, Polymorphic type inference symposium on principles of programming languages. pp. 88- 98 ,(1983) , 10.1145/567067.567077
Alberto Martelli, Ugo Montanari, An Efficient Unification Algorithm ACM Transactions on Programming Languages and Systems. ,vol. 4, pp. 258- 282 ,(1982) , 10.1145/357162.357169
D. Rémy, Type checking records and variants in a natural extension of ML symposium on principles of programming languages. pp. 77- 88 ,(1989) , 10.1145/75277.75284