Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/73141.74836acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free access

Type reconstruction with first-class polymorphic values

Published: 21 June 1989 Publication History

Abstract

We present the first type reconstruction system which combines the implicit typing of ML with the full power of the explicitly typed second-order polymorphic lambda calculus. The system will accept ML-style programs, explicitly typed programs, and programs that use explicit types for all first-class polymorphic values. We accomplish this flexibility by providing both generic and explicitly-quantified polymorphic types, as well as operators which convert between these two forms of polymorphism. This type reconstruction system is an integral part of the FX-89 programming language. We present a type reconstruction algorithm for the system. The type reconstruction algorithm is proven sound and complete with respect to the formal typing rules.

References

[1]
Boehm, H. J., "Partial polymorphic type inference is undecidable', ~6ih Annual Symposium on Foundations of Computer Science, October 1985, pages 339-345.
[2]
Damns, L., Milner, R., "Principal typeschemes for functional programs", Proceedings of the 9th Annual Symposium on Principles of Programming Languages, january 1982, pages 207- 212.
[3]
Damns, L., "Type Assignment in Programming Lanuages", Ph.D. Thesis CST-33-85, University of Edinburgh, April 1985.
[4]
Fortune S., Leivant D., and O'DonneU M., "Simple and Second-order Type Structures", Journal of the Association for Computing Machinery, January 1983.
[5]
Gifford, D. K., Jouvelot, P., Lucazaen, J. M., Sheldon, M. A., The FX-87 Reference Manual, MIT/LCS/TR-407, October 1987.
[6]
Goldfaxb, W. D., '~The undecidability of the second-order unification problem", Theoretical Computer Science, vo}. 13, 1981, pages 225-230.
[7]
Hindley, R., "The principal type-scheme of an object in combinatory logic", Transactions of the American Mathematical Society, vol. 146, 1969, pages 29-60.
[8]
Kfoury, A. J., Tiuryn, J., and Urzyczyn, P., "A Proper Extension of ML with an effective Type-Assignment', Proceedings of the 15th Annual POP~, 1988.
[9]
Leivant, D., "Polymorphic Type inference", Proceedings of the lOth Annual Symposium on Principles of Programming Languages, 1983.
[10]
Lucazsen, j. M., Types and Effects: Towards the integration of Functional and Imperative Programming, Ph.D. Thesis MIT/LCS/TR-408, Massachusetts Institute of Technology, September 1987.
[11]
MacQueen, D., "Modules for Stalldard ML", Proceedings of the 198j A CM Conference on LISP and Functional Programming, 1984, pages 198-207.
[12]
McCracken, N. J. An Investigation of a Programming Language with a Polymorphic T~tpe Structure. Ph.D. Thesis, Syracuse University, 1979.
[13]
McCracken, N. J., '~The Typechecking of Programs with Implicit Type Structure", Se. maniics of Data Types, vol. 173 of Lecture Notes in Computer Science, ~lune 1984, pages 301-315.
[14]
Milner, it., "A Theory of Type Polymorphism in Programming", Journal of Computer and System Sciences, vol. 17, 1978, pages 349-375.
[15]
Morris, J. H., ~ambda-C'alculus Models of Programming Languages, Massachusetts Institute of Technology, MAC-TI~-57, 1968.
[16]
O'Toole, James William, Jr., Type Reconstruction with First Class Polymorphic Values, MIT/LCS/TM-380, 1989.
[17]
Pfenning, Frank, "Partial Polymorphic Type Inference and Higher Order Unification", Proceedings of A CM Conference on Lisp and Functional Progmmmint?, 1988.
[18]
Rees, J. A., and Clinger, William, Editors, The Reviseda Report on the Algorithmic Language Scheme, MIT/AI/Memo.848a, 1986.
[19]
Reynolds, J. C., "Definitional Interpreters for higher order programming languages", Proceedings of the 5th Annual POP~, January 1978, pages 39-46.
[20]
Robinson, J. A., "A machine-oriented logic baaed on the resolution principle", JACM 12,1 (1965), pages 23-41.
[21]
Torte, Muds, Operational Semantics and Polymorphic Type Inference, Ph.D. Thesis, University of Edinburgh, 1987.

Cited By

View all
  • (2024)When Subtyping Constraints Liberate: A Novel Type Inference Approach for First-Class PolymorphismProceedings of the ACM on Programming Languages10.1145/36328908:POPL(1418-1450)Online publication date: 5-Jan-2024
  • (2020)A quick look at impredicativityProceedings of the ACM on Programming Languages10.1145/34089714:ICFP(1-29)Online publication date: 3-Aug-2020
  • (2018)Guarded impredicative polymorphismACM SIGPLAN Notices10.1145/3296979.319238953:4(783-796)Online publication date: 11-Jun-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '89: Proceedings of the ACM SIGPLAN 1989 conference on Programming language design and implementation
June 1989
355 pages
ISBN:089791306X
DOI:10.1145/73141
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 24, Issue 7
    Proceedings of the SIGPLAN '89 symposium on Interpreters and interpretive techniques
    July 1989
    355 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/74818
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 June 1989

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PLDI89
Sponsor:
PLDI89: Programming Language Design & Implementation
June 19 - 23, 1989
Oregon, Portland, USA

Acceptance Rates

Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)69
  • Downloads (Last 6 weeks)21
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)When Subtyping Constraints Liberate: A Novel Type Inference Approach for First-Class PolymorphismProceedings of the ACM on Programming Languages10.1145/36328908:POPL(1418-1450)Online publication date: 5-Jan-2024
  • (2020)A quick look at impredicativityProceedings of the ACM on Programming Languages10.1145/34089714:ICFP(1-29)Online publication date: 3-Aug-2020
  • (2018)Guarded impredicative polymorphismACM SIGPLAN Notices10.1145/3296979.319238953:4(783-796)Online publication date: 11-Jun-2018
  • (2018)Guarded impredicative polymorphismProceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3192366.3192389(783-796)Online publication date: 11-Jun-2018
  • (2009)QMLProceedings of the 2009 ACM SIGPLAN workshop on ML10.1145/1596627.1596630(3-14)Online publication date: 30-Aug-2009
  • (2009)Recasting MLFInformation and Computation10.1016/j.ic.2008.12.006207:6(726-785)Online publication date: 1-Jun-2009
  • (2005)Types in lambda calculi and programming languagesESOP '9010.1007/3-540-52592-0_53(1-35)Online publication date: 1-Jun-2005
  • (1998)Local type inferenceProceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/268946.268967(252-265)Online publication date: 21-Jan-1998
  • (1991)Compiling the polymorphic λ-calculusACM SIGPLAN Notices10.1145/115866.11589626:9(285-296)Online publication date: 1-May-1991
  • (1991)Compiling the polymorphic λ-calculusProceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation10.1145/115865.115896(285-296)Online publication date: 1-May-1991
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media