skip to main content
article
Open Access

Constrained types and their expressiveness

Published:01 September 1996Publication History
Skip Abstract Section

Abstract

A constrained type consists of both a standard type and a constraint set. Such types enable efficient type inference for object-oriented languages with polymorphism and subtyping, as demonstrated by Eifrig, Smith, and Trifonov. Until now, it has been unclear how expressive constrained types are. In this article we study constrained types without universal quantification. We prove that they accept the same programs as the type system of Amadio and Cardelli with subtyping and recursive types. This result gives a precise connection between constrained types and the standard notion of types.

Skip Supplemental Material Section

Supplemental Material

References

  1. Aiken, A. and Wimmers, E. 1993. Type inclusion constraints and type inference. In Proceedings of the ACM Conference on Functional Programming Languages and Computer Architecture. ACM, New York, 31-41. Google ScholarGoogle Scholar
  2. Amadio, R. M. and Cardelli, L. 1993. Subtyping recursive types. ACM Trans. Program. Lang. Syst. 15, 4, 575-631. Also in Proceedings of POPL'91. Google ScholarGoogle Scholar
  3. Curtis, P. 1990. Constrained quantification in polymorphic type analysis. Tech. Rep. CSL-90-1, XEROX Palo Alto Research Center, Palo Alto, Calif.Google ScholarGoogle Scholar
  4. Eifrig, J., Smith, S., and Trifonov, V. 1995a. Sound polymorphic type inference for objects. In Proceedings of OOPSLA'95, ACM SIGPLAN 10th Annual Conference on Object-Oriented Programming Systems, Languages and Applications. ACM, New York, 169-184. Google ScholarGoogle Scholar
  5. Eifrig, J., Smith, S., and Trifonov, V. 1995b. Type inference for recursively constrained types and it application to OOP. In Proceedings of Mathematical Foundations of Programming Semantics. Electronic Notes in Theoretical Computer Science, vol. 1. Elsevier Science B.V., New York.Google ScholarGoogle Scholar
  6. Kaes, S. 1992. Type inference in the presence of overloading, subtyping and recursive types. In the 1992 ACM Conference on Lisp and Functional Programming. LISP Pointers 5, 1, 193-204. Google ScholarGoogle Scholar
  7. Kozen, D., Palsberg, J., and Schwartzbach, M. I. 1995. Efficient recursive subtyping. Math. Struct. Comput. Sci. 5, 1, 113-125. Preliminary version in Proceedings of POPL'93, Annual SIGPLAN-SIGACT Symposium on Principles of Programming Languages (Charleston, S. Carol., Jan.). ACM, New York, 419-428. Google ScholarGoogle Scholar
  8. Mitchell, J. C. 1991. Type inference with simple subtypes. J. Funct. Program. 1, 245-285.Google ScholarGoogle Scholar
  9. Palsberg, J. and O'Keefe, P. M. 1995. A type system equivalent to flow analysis. ACM Trans. Program. Lang. Syst. 17, 4 (July), 576-599. Preliminary version in Proceedings of POPL'95, Annual SIGPLAN-SIGACT Symposium on Principles of Programming Languages (San Francisco, Calif., Jan.). ACM, New York, 367-378. Google ScholarGoogle Scholar

Index Terms

  1. Constrained types and their expressiveness

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Programming Languages and Systems
        ACM Transactions on Programming Languages and Systems  Volume 18, Issue 5
        Sept. 1996
        129 pages
        ISSN:0164-0925
        EISSN:1558-4593
        DOI:10.1145/232706
        Issue’s Table of Contents

        Copyright © 1996 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 September 1996
        Published in toplas Volume 18, Issue 5

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Author Tags

        Qualifiers

        • article