Abstract
SPCF is an idealized sequential programming language, based on Plotkin's language PCF, that permits programmers and programs to observe the evaluation order of procedures. In this paper, we construct a fully abstract model of SPCF using a new mathematical framework suitable for defining fully abstract models of sequential functional languages. Then, we develop an extended typed λ-calculus to specify the operational semantics of SPCF and show that the calculus is complete for the constant-free sub-language. Finally, we prove that SPCF is computationally complete: it can express all the computable (recursively enumerable) elements in its fully abstract model.
The authors were supported in part by NSF grants CCR 89–17022 and OCR 91–22518.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Barendregt, H.P.The Lambda Calculus: Its Syntax and Semantics. Revised Edition. Studies in Logic and the Foundations of Mathematics 103. North-Holland, Amsterdam, 1984.
Berry, G. Séquentialité de l'évaluation formelle des λ-expressions. In Proc. 3rd International Colloquium on Programming, 1978.
Berry, G. Modèles complètement adéquats et stables des lambda-calculus typé. Ph.D. dissertation, Université Paris VII, 1979.
Berry, G. and P-L. Curien. Sequential algorithms on concrete data structures. Theor. Comput. Sci.20, 1982, 265–321.
Berry, G. and P-L. Curien. Theory and practice of sequential algorithms: the kernel of the applicative language cds. In Algebraic Methods in Semantics, edited by J. Reynolds and M.Nivat. Cambridge University Press. London, 1985, 35–88.
Berry, G., P-L. Curien, and P.-P. Lévy. Full-abstraction of sequential languages: the state of the art. In Algebraic Methods in Semantics, edited by J. Reynolds and M.Nivat. Cambridge University Press. London, 1985, 89–131.
Cartwright, R. Lambda: The ultimate combinator. Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy. Edited by Vladimir Lifschitz (ed.), Academic Press, 1991, 27–46.
Cartwright, R. and A. Demers. The topology of program termination. In Proc. Symposium on Logic in Computer Science, 1988, 296–308.
Cartwright, R.S. and M. Felleisen. Observable sequentiality and full abstraction. Technical Report 91-167. Rice University Department of Computer Science, 1991. Preliminary version: In Proc. 19th ACM Symposium on Principles of Programming Languages, 1992, 328–342.
Cartwright, R.S., Curien, P.-L., and M. Felleisen. Fully abstract models of observably sequential languages. Forthcoming, December 1992.
Curien, P-L.Categorical Combinators, Sequential Algorithms, and Functional Programming. Research Notes in Theoretical Computer Science. Pitman, London. 1986. Birkhäuser, Revised Edition, to appear.
Curien, P.-L., Observable algorithms on concrete data structures. In Proc 7th Symposium on Logic in Computer Science, 1992, to appear.
Felleisen, M. On the expressive power of programming languages. Science of Computer Programming17, 1991, 35–75. Preliminary version in: Proc. 3rd European Symposium on Programming. Neil Jones, Ed. Lecture Notes in Computer Science, 432. Springer Verlag, Berlin, 1990, 134–151.
Felleisen, M. and R. Hieb. The revised report on the syntactic theories of sequential control and state. Technical Report 100, Rice University, June 1989. Theor. Comput. Sci.102, 1992.
Felleisen, M., D.P. Friedman, E. Kohlbecker, and B. Duba. A syntactic theory of sequential control. Theor. Comput. Sci.52(3), 1987, 205–237. Preliminary version in: Proc. Symposium on Logic in Computer Science, 1986, 131–141.
Friedman, H. Equality between functionals. In Logic Colloquium'73, Rohit Parikh (Ed.), Lecture Notes in Mathematics 453, Springer Verlag, Berlin, 1973, 22–37.
Kahn, G. and G. Plotkin. Structures des donnés concrètes (Domaines Concrètes). IRIA Report 336. 1978.
Meyer, A.R. What is a model of the λ-calculus? Inf. and Control52, 1982, 87–122.
Milner, R. Fully abstract models of typed λ-calculi. Theor. Comput. Sci. 4, 1977, 1–22.
Mulmuley, K.Full Abstraction and Semantic Equivalences. Ph.D. dissertation, Carnegie Mellon University, 1985. MIT Press, Cambridge, Massachusetts, 1986.
Plotkin, G. Notes on completeness of the full continuous type hierarchy. Unpublished manuscript, MIT, December 1982.
Plotkin, G.D. LCF considered as a programming language. Theor. Comput. Sci.5, 1977, 223–255.
Riecke, J. Statman's 1-section theorem. Tech. Rpt. MS-CIS-92-03. Uinversity of Pennsylvania. 1992.
Riecke, J. and R. Subrahmanyam. Algebraic reasoning and completeness in typed languages. In Proc. 20th ACM Symposium on Principles of Programming Languages, 1992, to appear.
Sazonov, V.Y. Expressibility of functions in D.Scott's LCF language. Algebra i Logika15(3), 1976, 308–330.
Scott, D. S. Domains for denotational semantics. In Proc. International Conference on on Automata, Languages, and Programming, Lecture Notes in Mathematics 140, Springer-Verlag, Berlin, 1982, ??-??.
Scott, D.S. Data types as lattices. SIAM J. Comput. 5(3), 1976, 522–587.
Scott, D.S. Lectures on a Mathematical Theory of Computation. Techn. Monograph PRG-19, Oxford University Computing Laboratory, Programming Research Group, 1981.
Sitaram, D. and M. Felleisen. Reasoning with continuations II: Full abstraction for models of control. In Proc. 1990 ACM Conference on Lisp and Functional Programming, 1990, 161–175.
Statman, R. Equality between functional revisited. In L.A. Harrinton, et al (Eds), Harvey Friedman's Research on the Foundations of Mathematics. Studies in Logic. North-Holland, 1985, 331–338.
Statman, R. Completeness, invariance, and lambda-definability. Journal of Symbolic. Logic47, 1982, 17–26.
Vuillemin, J. Proof techniques for recursive programs. IRIA Report. 1973.
Winskel, G. Events in Computations. Ph.D. dissertation, University of Edinburgh, 1980.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kanneganti, R., Cartwright, R., Felleisen, M. (1993). SPCF: its model, calculus, and computational power. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Semantics: Foundations and Applications. REX 1992. Lecture Notes in Computer Science, vol 666. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56596-5_39
Download citation
DOI: https://doi.org/10.1007/3-540-56596-5_39
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56596-3
Online ISBN: 978-3-540-47595-8
eBook Packages: Springer Book Archive