ACM Home Page
Please provide us with feedback. Feedback
Polymorphic unification and ML typing
Full text PdfPdf (1.06 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Austin, Texas, United States
Pages: 105 - 115  
Year of Publication: 1989
ISBN:0-89791-294-2
Authors
P. C. Kanellakis  Department of Computer Science, Brown University, Providence, RI
J. C. Mitchell  Department of Computer Science, Stanford University, Stanford, CA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 23,   Citation Count: 13
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/75277.75286
What is a DOI?

ABSTRACT

We study the complexity of type inference for a core fragment of ML with lambda abstraction, function application, and the polymorphic let declaration. Our primary technical tool is the unification problem for a class of “polymorphic” type expressions. This form of unification, which we call polymorphic unification, allows us to separate a combinatorial aspect of type inference from the syntax of ML programs. After observing that ML typing is in DEXPTIME, we show that polymorphic unification is PSPACE hard. From this, we prove that recognizing the typable core ML programs is also PSPACE hard. Our lower bound stands in contrast to the common belief that typing ML programs is “efficient,” and to practical experience which suggests that the algorithms commonly used for this task do not slow compilation substantially.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
AHU83
 
Bar84
H.P. Barendregt. The Lambda Calculus: Its Syntax and Semantics. North Holland, 1984.
 
CCM85
 
CF58
H.B Curry and It. Feys. Combinalory Logic L North-Holland, 1958.
 
DKM84
DM82
 
GJ79
 
GMW79
M.J. Gordon, 1%. Milner, and C.P. Wadsworth. Edinburgh LCF. Volume 78 of Lecture Noles in Computer Science, Springer-Verlag, 1979.
 
GR88
P. Giannini and S. Ronchi Della Rocca. Characterization of typings in polymorphic type discipline. In Proc. IEEE Syrup. on Logic in Computer Science, pages 61- 71, July 1988.
Hen88
 
How80
W. Howard. The formulas-as-types notion of construction. In To H.B. Curry: Essays on Combinalory Logic, Lambda-Calculus and Formalism, pages 479-490, Academic Press, 1980.
KTU88
Lei83
MH88
 
Mil78
l~. Milner. A theory of type polymorphism in programming. JCSS, 17, 1978. pages 348-375.
 
Mil85
R. Milner. The Standard ML core language. Polymorphi~m, 2(2), 1985. 28 pages. An earlier version appeared in Proc. 1984 ACM Symp. on Lisp and Functional Programming.
 
Mit88
MM82
 
PW78
M.S. Paterson and M.N. Wegman. Linear unification. JCSS, 16, 1978. pages 158- 167.
Rob65
SM73
 
Tur85

CITED BY  13

Collaborative Colleagues:
P. C. Kanellakis: colleagues
J. C. Mitchell: colleagues