Abstract
We examine three languages: call-by-name PCF; an idealized version of Algol called IA; and a call-by-name version of the functional core of ML with a parallel conditional, called PPCF+XML. Syntactic translations from PCF and IA into PPCF+XML are given and shown to be fully abstract, in the sense that they preserve and reflect observational equivalence. We believe that these results suggest the potential unifying force of Strachey's concept of parametric polymorphism.
Supported by NSF grant CCR-92110829.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
S. Abramsky, R. Jagadeesan, and P. Malacaria. Games and full abstraction for PCF: preliminary announcement. Unpublished, 1993.
S. Bainbridge, P. J. Freyd, A. Scedrov, and P. J. Scott. Functorial polymorphism. Theoretical Computer Science, 70(10):35–64, 1990. Corrigendum in 71(3):431, 1990.
P. J. Freyd, P. Mulry, G. Rosolini, and D. S. Scott. Extensional PERs. In Proceedings, Fifth Annual IEEE Symposium on Logic in Computer Science, pages 346–354, Philadelphia, PA, 1990. IEEE Computer Society Press, Los Alamitos, California.
P. J. Freyd, E. P. Robinson, and G. Rosolini. Functorial parametricity. In Proceedings, 7th Annual IEEE Symposium on Logic in Computer Science, pages 444–452, Santa Cruz, California, 1992. IEEE Computer Society Press, Los Alamitos, California.
R. Harper and J. C. Mitchell. On the type structure of standard ML. ACM Trans. Programming Languages and Systems, 15:211–252, 1993.
A. Jung and J. Tiuryn. A new characterization of lambda definability. In Typed Lambda Calculi and Applications, volume 664 of Lect. Notes in Computer Sci., pages 245–257. Springer-Verlag, 1993.
A. F. Lent. The category of functors from state shapes to bottomless CPOs is adequate for block structure. Master's thesis, Massachusetts Institute of Technology, 1992.
Q. Ma and J. C. Reynolds. Types, abstraction, and parametric polymorphism, part 2. In S. Brookes et al., editors, Mathematical Foundations of Programming Semantics, volume 598 of Lecture Notes in Computer Science, pages 1–40. Springer-Verlag, Berlin, 1992. Proceedings of the 1991 Conference.
A. R. Meyer and K. Sieber. Towards fully abstract semantics for local variables: preliminary report. In Conf. Record 15th ACM Symp. on Principles of Programming Languages, pages 191–203. ACM, New York, 1988.
R. Milner. Fully abstract models of typed λ-calculi. Theoretical Computer Science, 4:1–22, 1977.
R. Milner. A theory of type polymorphism in programming. J. of Computer and System Sciences, 17:348–75, 1978.
J. C. Mitchell and R. Harper. The essence of Ml. In Conf. Record 15th ACM Symp. on Principles of Programming Languages, pages 28–46. ACM, New York, 1988.
P. W. O'Hearn and R. D. Tennent. Semantics of local variables. In M. P. Fourman, P. T. Johnstone, and A. M. Pitts, editors, Applications of Categories in Computer Science, volume 177 of London Mathematical Society Lecture Note Series, pages 217–238. Cambridge University Press, Cambridge, England, 1992.
P. W. O'Hearn and R. D. Tennent. Parametricity and local variables. Technical Report SU-CIS-93-30, Syracuse University, 1993. Preliminary version appeared in Conf. Record 20th ACM Symp. on Principles of Programming Languages, pages 171–184, Charleston, South Carolina, 1993. ACM, New York.
F. J. Oles. A Category-Theoretic Approach to the Semantics of Programming Languages. Ph.D. thesis, Syracuse University, Syracuse, N.Y., 1982.
L. Ong and M. Hyland. Dialogue games and innocent strategies: An approach to intensional full abstraction to PCF (preliminary announcement). Unpublished, 1993.
W. K. Phoa. Effective domains and intrinsic structure. In Proceedings, Fifth Annual IEEE Symposium on Logic in Computer Science, pages 366–379, Philadelphia, PA, 1990. IEEE Computer Society Press, Los Alamitos, California.
A. Pitts and I. Stark. On the observable properties of higher-order functions that dynamically create local names (preliminary report). In ACM SIGLPLAN Workshop on State in Programming Languages, pages 31–45, 1993. Available as Yale Technical Report YALEU/DCS/RR-968.
G. D. Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5:223–255, 1977.
U.S. Reddy. Global states considered unnecessary. In ACM SIGLPLAN Workshop on State in Programming Languages, 1993. Available as Yale Technical Report YALEU/DCS/RR-968.
J. H. Reppy. CML: A higher-order concurrent language. In Proceedings of the SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 293–305, June 1991.
J. C. Reynolds. Towards a theory of type structure. In Proc. Colloque sur la Programmation, volume 19 of Lecture Notes in Computer Science, pages 408–425, Berlin, 1974. Springer-Verlag.
J. C. Reynolds. The essence of Algol. In J. W.de Bakker and J. C. van Vliet, editors, Algorithmic Languages, pages 345–372. North-Holland, Amsterdam, 1981.
J. C. Reynolds. Types, abstraction and parametric polymorphism. In R. E. A. Mason, editor, Information Processing 83, pages 513–523. North Holland, Amsterdam, 1983.
J. G. Riecke. Fully abstract translations between functional languages. Mathematical Structures in Computer Science, 1993. To appear.
V. Sazonov. Expressibility of functions in D. Scott's LCF language. Algebra i Logika, 15:308–330, 1976. Russian.
K. Sieber. New steps towards full abstraction for local variables. In ACM SIGLPLAN Workshop on State in Programming Languages, pages 88–100, 1993. Available as Yale Technical Report YALEU/DCS/RR-968.
C. Strachey. Fundamental Concepts in Programming Languages. Unpublished lecture notes, International Summer School in Computer Programming, Copenhagen, August 1967.
P. Wadler. Comprehending monads. In Proceedings of the ACM Conference on LISP and Functional Programming, pages 61–78, Nice, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
O'Hearn, P.W., Riecke, J.G. (1994). Fully abstract translations and parametric polymorphism. In: Sannella, D. (eds) Programming Languages and Systems — ESOP '94. ESOP 1994. Lecture Notes in Computer Science, vol 788. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57880-3_30
Download citation
DOI: https://doi.org/10.1007/3-540-57880-3_30
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57880-2
Online ISBN: 978-3-540-48376-2
eBook Packages: Springer Book Archive