ACM Home Page
Please provide us with feedback. Feedback
A types-as-sets semantics for milner-style polymorphism
Full text PdfPdf (529 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages table of contents
Salt Lake City, Utah, United States
Pages: 158 - 164  
Year of Publication: 1984
ISBN:0-89791-125-3
Author
Mitchell Wand  Computer Science Department, Indiana University, Lindley Hall 101, Bloomington, IN
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGADA: ACM Special Interest Group on Ada Programming Language
SIGAPL: ACM Special Interest Group on APL Programming Language
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 19,   Citation Count: 6
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/800017.800527
What is a DOI?

ABSTRACT

In this paper we present a semantics for Milner-style polymorphism in which types are sets. The basic picture is that our programs are actually terms in a typed &lgr;-calculus, in which the type information can be safely deleted from the concrete syntax. In order to allow for common programming constructs, we allow reflexive or infinite types, and we also allow opaque types, which have private representations. An adaptation of Hindley's Principal Typing Theorem then asserts that the type information can be reconstructed. Thus expressions are polymorphic, since they may have more than one correct typing, but values are not. Expressions that are not well-typed are syntactically ill-formed, as they are in conventional mathematics, rather than having the meaning “wrong”. The resulting semantics is simpler than that for fully polymorphic models [Leivant 83], and generalizes the standard constructions, such as retracts and ideals.


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.

 
1
Barendregt, H.P. The Lambda Calculus: Its Syntax and Semantics, North-Holland, Amsterdam, 1981.
2
 
3
Donahue, J. "On the Semantics of 'Data Type'," SIAM J. Comput. 8(1979), 546-560.
 
4
Fokkiuga, M.M. "On the Notion of Strong Typing," in Algorithmic Languages(deBakker and van Vliet, eds.), North-Holland, 1981, pp. 305-320.
5
 
6
Haynes, C. T. "A Theory of Data Type Representation Independence," *University of Iowa Computer Science Department Technical Report Numer 82-04, December, 1982.
 
7
 
8
Hindley, R. "The Principal Type-Scheme of an Object in Combinatory Logic," Trans. Am. Math. Soc. 146 (1969) 29-60.
 
9
Lehmann, D.J. and Smyth, M.B. "Algebraic Specification of Data Types: A Synthetic Approach," Math. Sys. Th. 14 (1981), 97-139.
10
11
 
12
MacQueen, D.B., Plotkin, G., and Sethi, R. "An Ideal Model for Recursive Polymorphic Types," presentation at Workshop on Data Types, Carnegie-Mellon University, June 9-10, 1983.
 
13
Meyer, A.R. "What Is a Model of the Lambda Calculus," Information and Control 52 (1982), 87-122.
 
14
Milner, R. "A Theory of Type Polymorphism in Programming," J. Comp. @@@@ Sys. Sci. 17 (1978), 348-375.
 
15
Pottinger, G. "The Church-Rosser Theorem for the Typed &lgr;-Calculus with Subjective Pairing," Notre Dame Journal of Formal Logic 22 (1981) 264-268.
 
16
 
17
Reynolds, J.C. "User-Defined Types and Procedural Data Structures as Complementary Approaches to Data Abstraction" Conf. on New Directions on Algorithmic Languages, IFIP WG 2.1, Munich, August, 1975.
 
18
Reynolds, J.C. "The Essence of Algol," in Algorithmic Languages, (J. W. deBakker and J.C. van Vliet, eds.) North-Holland, Amsterdam, 1981, pp. 345-372.
 
19
Reynolds, J.C. "Types, Abstractions, and Parametric Polymorphism," Proc. IFIP 83.
20
 
21
Scott, D. "Continuous Lattices" in Toposes, Algebraic Geometry, and Logic (F.W. Lawvere, ed.), Lecture Notes in Mathematics. vol. 274, Springer-Verlag, New York, pp. 97-136.
 
22
Scott, D. "Data Types as Lattices" SIAM J. Comput. 5 (1976), 522-587.
 
23
Scott, D. "Relating theories of the &lgr;-calculus," in To H.B. Curry: Essays on Combinatory Logic, Lambda-Calculus and Formalism (Hindley and Seldin, eds.) Academic Press, New York and London, 1980, pp. 403-450.
24
25
 
26
Wand, M. "A Semantic Prototyping System," June, 1983.