Skip to main content

SPCF: its model, calculus, and computational power

Preliminary Version

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 666))

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.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. Berry, G. Séquentialité de l'évaluation formelle des λ-expressions. In Proc. 3rd International Colloquium on Programming, 1978.

    Google Scholar 

  3. Berry, G. Modèles complètement adéquats et stables des lambda-calculus typé. Ph.D. dissertation, Université Paris VII, 1979.

    Google Scholar 

  4. Berry, G. and P-L. Curien. Sequential algorithms on concrete data structures. Theor. Comput. Sci.20, 1982, 265–321.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. Cartwright, R. and A. Demers. The topology of program termination. In Proc. Symposium on Logic in Computer Science, 1988, 296–308.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. Cartwright, R.S., Curien, P.-L., and M. Felleisen. Fully abstract models of observably sequential languages. Forthcoming, December 1992.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. Curien, P.-L., Observable algorithms on concrete data structures. In Proc 7th Symposium on Logic in Computer Science, 1992, to appear.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. Friedman, H. Equality between functionals. In Logic Colloquium'73, Rohit Parikh (Ed.), Lecture Notes in Mathematics 453, Springer Verlag, Berlin, 1973, 22–37.

    Google Scholar 

  17. Kahn, G. and G. Plotkin. Structures des donnés concrètes (Domaines Concrètes). IRIA Report 336. 1978.

    Google Scholar 

  18. Meyer, A.R. What is a model of the λ-calculus? Inf. and Control52, 1982, 87–122.

    Google Scholar 

  19. Milner, R. Fully abstract models of typed λ-calculi. Theor. Comput. Sci. 4, 1977, 1–22.

    Google Scholar 

  20. Mulmuley, K.Full Abstraction and Semantic Equivalences. Ph.D. dissertation, Carnegie Mellon University, 1985. MIT Press, Cambridge, Massachusetts, 1986.

    Google Scholar 

  21. Plotkin, G. Notes on completeness of the full continuous type hierarchy. Unpublished manuscript, MIT, December 1982.

    Google Scholar 

  22. Plotkin, G.D. LCF considered as a programming language. Theor. Comput. Sci.5, 1977, 223–255.

    Google Scholar 

  23. Riecke, J. Statman's 1-section theorem. Tech. Rpt. MS-CIS-92-03. Uinversity of Pennsylvania. 1992.

    Google Scholar 

  24. 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.

    Google Scholar 

  25. Sazonov, V.Y. Expressibility of functions in D.Scott's LCF language. Algebra i Logika15(3), 1976, 308–330.

    Google Scholar 

  26. 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, ??-??.

    Google Scholar 

  27. Scott, D.S. Data types as lattices. SIAM J. Comput. 5(3), 1976, 522–587.

    Google Scholar 

  28. Scott, D.S. Lectures on a Mathematical Theory of Computation. Techn. Monograph PRG-19, Oxford University Computing Laboratory, Programming Research Group, 1981.

    Google Scholar 

  29. 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.

    Google Scholar 

  30. 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.

    Google Scholar 

  31. Statman, R. Completeness, invariance, and lambda-definability. Journal of Symbolic. Logic47, 1982, 17–26.

    Google Scholar 

  32. Vuillemin, J. Proof techniques for recursive programs. IRIA Report. 1973.

    Google Scholar 

  33. Winskel, G. Events in Computations. Ph.D. dissertation, University of Edinburgh, 1980.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker W. -P. de Roever G. Rozenberg

Rights and permissions

Reprints 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

Publish with us

Policies and ethics