[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/93542.93560acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free access

Type-dependent parameter inference

Published: 01 June 1990 Publication History

Abstract

An algorithm is presented to infer the type and operation parameters of polymorphic functions. Operation parameters are named and typed at the function definition, but are selected from the set of overloaded definitions available wherever the function is used. These parameters are always implicit, implying that the complexity of using a function does not increase with the generality of its type.

References

[1]
Reference Manual for the Programming LanguageAda, U.S. Department of Defense, ANSUMIL-STD-1815-A (1983)
[2]
Aho, A.V., gethi, R., and Ullman, J.D., Compilers- Principles, Techniques, and Tools, Addison Wesley (1986).
[3]
Boehm, H., Partial polymorphic type inference is undecidable, Proc. 26th Symposium on Foundations of Computer Science (Oct. 1985), 339-345.
[4]
Boehm, H. and Demers, A., Implementing Russell, Proc. Sigplan 86 Symposium, in Sigplan Not. 21:7 (1986), 186-195.
[5]
Boehm, H., Type Inference in the Presence of Type Abstraction, Proc. SIGPLAN 89, in SIGPLAN Not. 24:7 (1989), 192-206.
[6]
Cardelli, L. and Wegner, P., On Understanding Types, Data Abstraction, and Polymorphism, Computing Surveys 17:4 (Dec. 1985), 471-522.
[7]
Cardelli, L., Typeful programming, Digital Systems Research Center, Palo Alto (1989)
[8]
Cormack, G.V. Extensions to static scoping, Proc. Sigplan 83 Symposium, in Sigplart Notices 18:6 (1983), 187- 191.
[9]
Cormack, G.V., and Wright A.K., Polymorphism in the compiled language ForceOne, Proc. 20th Hawaii Conf. on System Sciences (1987), 284-292.
[10]
Donahue, J. and Demers, A., Data Types are Values, A.C.M. Trans. Prog. Lang. Syst. 7:3 (1985), 426-445.
[11]
Futatsugi, K., Goguen, J., Jouannaud, J. and Meseguer J., Principles of OBJ2, Proc. 12th Symposium on Principles of Programming Languages (i985), 52-66.
[12]
Girard, J., Interpretation fonctionelle et elimination des coupures de i'arithmetique d'ordre superieur, These d'Etat, Universite Paris VII, 1972.
[13]
Kaes, S., Parametric overloading in polymorphic programming languages, Lecture Notes in Computer Science 300, Springer (1988), 131-144.
[14]
MaeQueen D., Modules for Standard ML, Conf. Record of A CM Symposium on Lisp and Functional Programming (1984), 198-207.
[15]
Meyer, B., Object Oriented Software Construction, Prentice (198s).
[16]
Milner, R., A Theory of Type Polymorphism in Programming, J. Computer Syst. Sci. 17 (1978), 348-375.
[17]
Milner, R., The Standard ML Core Language, Polymorphism 2:2 (Oct. 1985), 1-28.
[18]
Mitchell, J.C., Polymorphic type inference and containment, information and Computation 76 (1988), 211-249.
[19]
Meyer B., Object-oriented Software Construction, Prentice Hall (1988).
[20]
O'toole, J and Gifford, D., Type reconstruction with firstclass polymorphic values, Proc. Sigptan 89 Symposium, in Sigplan Not. 24:7 (1989), 207-217.
[21]
Reynolds, J., Towards a Theory of Type Structure, Paris Colloquium on Programming (1974), 408-424.
[22]
Robinson, J.A., A machine-oriented logic based on the resolution principle, S. ACM 12:1 (1965), 23-41.
[23]
Stroustrup, B., The C++ Programming Language, Addison Wesley (1986).
[24]
van Wigngaarden, A., et at. Revised report on the algorithmic language Algol 68, Acta Informatica 5 (1975), 1-236.
[25]
Wadler, P and Blott, S., How to make ad-hoc polymorphism less ad hoc, Proc. 16th Symposium on Principles of Programming Languages (Jan. 1989), 60-76.
[26]
Wright, A.K., Design of the Programming Language ForceOne, Research Report CS-87-10, University of Waterloo (1987).

Cited By

View all
  • (2018)C: Adding modern programming language features to CSoftware: Practice and Experience10.1002/spe.262448:12(2111-2146)Online publication date: 20-Aug-2018
  • (2005)Domesticating imperative constructs so that they can live in a functional worldProgramming Language Implementation and Logic Programming10.1007/3-540-54444-5_87(51-62)Online publication date: 4-Jun-2005
  • (2002)Type-checking multi-parameter type classesJournal of Functional Programming10.1017/S095679680100423312:2(133-158)Online publication date: 1-Mar-2002
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '90: Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
June 1990
351 pages
ISBN:0897913647
DOI:10.1145/93542
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: 01 June 1990

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

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

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)56
  • Downloads (Last 6 weeks)13
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2018)C: Adding modern programming language features to CSoftware: Practice and Experience10.1002/spe.262448:12(2111-2146)Online publication date: 20-Aug-2018
  • (2005)Domesticating imperative constructs so that they can live in a functional worldProgramming Language Implementation and Logic Programming10.1007/3-540-54444-5_87(51-62)Online publication date: 4-Jun-2005
  • (2002)Type-checking multi-parameter type classesJournal of Functional Programming10.1017/S095679680100423312:2(133-158)Online publication date: 1-Mar-2002
  • (1996)Kinded type inference for parameteric overloadingActa Informatica10.1007/s00236005003533:1(21-68)Online publication date: 1-Feb-1996
  • (1992)On generic formal package parameters in Ada 9XACM SIGAda Ada Letters10.1145/134283.134289XII:3(110-116)Online publication date: 1-Jun-1992
  • (1991)Automatic instantiation in AdaProceedings of the conference on TRI-Ada '91: today's accomplishments; tomorrow's expectations10.1145/126551.126586(338-346)Online publication date: 1-Dec-1991
  • (1992)Synchronous and asynchronous handling of abnormal events in the μSystemSoftware—Practice & Experience10.1002/spe.438022090422:9(735-776)Online publication date: 1-Sep-1992
  • (1991)ClusterACM SIGPLAN Notices10.1145/122203.12220826:1(57-74)Online publication date: 1-Jan-1991

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media