Abstract
Many type inference and program analysis systems include notions of subtyping and parametric polymorphism. When used together, these two features induce equivalences that allow types to be simplified by eliminating quantified variables. Eliminating variables both improves the readability of types and the performance of algorithms whose complexity depends on the number of type variables. We present an algorithm for simplifying quantified types in the presence of subtyping and prove it is sound and complete for non-recursive and recursive types.
This work was supported by an NSF NYI award CCR-9457812.
Preview
Unable to display preview. Download preview PDF.
References
Roberto M. Amadio and Luca Cardelli. Subtyping recursive types. ACM Transactions on Programming Languages and Systems, 15(4):575–631, 1993. Also in Proc. POPL'91.
A. Aiken and E. Wimmers. Type inclusion constraints and type inference. In Proceedings of the 1993 Conference on Functional Programming Languages and Computer Architecture, pages 31–41, Copenhagen, Denmark, June 1993.
A. Aiken, E. Wimmers, and T.K. Lakshman. Soft typing with conditional types. In Twenty-First Annual ACM Symposium on Principles of Programming Languages, pages 163–173, Portland, Oregon, January 1994.
A. Aiken, E. Wimmers, and J. Palsberg. Optimal representations of polymorphic types with subtyping. Technical Report UCB//CSD-96-909, University of California, Berkeley, 1996.
Bruno Courcelle. Infinite trees in normal form and recursive equations having a unique solution. Mathematical Systems Theory, 13:131–180, 1979.
Pavel Curtis. Constrained quantification in polymorphic type analysis. Technical Report CSL-90-1, Xerox Parc, February 1990.
L. Cardelli and P. Wegner. On understanding types, data abstraction and polymorphism. Computing Surverys, 17(4):471–522, December 1985.
J. Eifrig, S. Smith, and V. Trifonov. Sound polymorphic type inference for objects. In OOPSLA '96, 1995.
M. Fähndrich and A. Aiken. Making set-constraint program analyses scale. In CP96 Workshop on Set Constraints, August 1996.
Fritz Henglein and Christian Mossin. Polymorphic binding-time analysis. In Donald Sannella, editor, Proceedings of European Symposium on Programming, volume 788 of Lecture Notes in Computer Science, pages 287–301. Springer-Verlag, April 1994.
Stefan Kaes. Type inference in the presence of overloading, subtyping and recursive types. In 1992 ACM Conference on Lisp and Functional Programming. San Francisco, California. LISP Pointers V, 1, pages 193–204, June 1992.
A. Koenig. An anecdote about ML type inference. In Proceedings of the USENIX 1994 Symposium on Very High Level Languages, October 1994.
D. MacQueen, G. Plotkin, and R. Sethi. An ideal model for recursive polymophic types. In Eleventh Annual ACM Symposium on Principles of Programming Languages, pages 165–174, January 1984.
F. Pottier. Simplifying subtyping constraints. In Proceedings of the 1996 ACM SIGPLAN International Conference on Functional Programming, pages 122–133, May 1996.
Geoffrey S. Smith. Principal type schemes for functional programs with overloading and subtyping. Science of Computer Programming, 23:197–226, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Aiken, A., Wimmers, E.L., Palsberg, J. (1997). Optimal representations of polymorphic types with subtyping (Extended abstract). In: Abadi, M., Ito, T. (eds) Theoretical Aspects of Computer Software. TACS 1997. Lecture Notes in Computer Science, vol 1281. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014547
Download citation
DOI: https://doi.org/10.1007/BFb0014547
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63388-4
Online ISBN: 978-3-540-69530-1
eBook Packages: Springer Book Archive