Advertisement

Block Structure vs. Scope Extrusion: Between Innocence and Omniscience

  • Andrzej S. Murawski
  • Nikos Tzevelekos
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6014)

Abstract

We study the semantic meaning of block structure using game semantics and introduce the notion of block-innocent strategies, which turns out to characterise call-by-value computation with block-allocated storage through soundness, finitary definability and universality results. This puts us in a good position to conduct a comparative study of purely functional computation, computation with block storage and dynamic memory allocation respectively. For example, we show that dynamic variable allocation can be replaced with block-allocated variables exactly when the term involved (open or closed) is of base type and that block-allocated storage can be replaced with purely functional computation when types of order two are involved. To illustrate the restrictive nature of block structure further, we prove a decidability result for a finitary fragment of call-by-value Idealized Algol for which it is known that allowing for dynamic memory allocation leads to undecidability.

Keywords

Canonical Form Base Type Block Structure Regular Language Memory Allocation 
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

  1. 1.
    Abramsky, S., Jagadeesan, R., Malacaria, P.: Full abstraction for PCF. Information and Computation 163, 409–470 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Abramsky, S., McCusker, G.: Call-by-value games. In: Nielsen, M. (ed.) CSL 1997. LNCS, vol. 1414, pp. 1–17. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  3. 3.
    Abramsky, S., McCusker, G.: Linearity, sharing and state: a fully abstract game semantics for Idealized Algol with active expressions. In: O’Hearn, P.W., Tennent, R.D. (eds.) Algol-like languages, pp. 297–329. Birkhaüser, Basel (1997)Google Scholar
  4. 4.
    Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Formal Aspects of Computing 13, 341–363 (2002)zbMATHCrossRefGoogle Scholar
  5. 5.
    Ghica, D.R.: Regular-language semantics for a call-by-value programming language. In: Proceedings of MFPS. Electronic Notes in Computer Science, vol. 45. Elsevier, Amsterdam (2001)Google Scholar
  6. 6.
    Honda, K., Yoshida, N.: Game-theoretic analysis of call-by-value computation. Theoretical Computer Science 221(1-2), 393–456 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Hyland, J.M.E., Ong, C.-H.L.: On Full Abstraction for PCF: I. Models, observables and the full abstraction problem, II. Dialogue games and innocent strategies, III. A fully abstract and universal game model. Information and Computation 163(2), 285–408 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Mitchell, J.C.: Concepts in programming languages. Cambridge University Press, Cambridge (2002)zbMATHGoogle Scholar
  9. 9.
    Murawski, A.S.: About the undecidability of program equivalence in finitary languages with state. ACM Transactions on Computational Logic 6(4), 701–726 (2005)CrossRefMathSciNetGoogle Scholar
  10. 10.
    Murawski, A.S.: Functions with local state: regularity and undecidability. Theoretical Computer Science 338(1/3), 315–349 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Oles, F.: Type algebras, functor categories and block structure. In: Nivat, M., Reynolds, J.C. (eds.) Algebraic Methods in Semantics, pp. 543–573. Cambridge University Press, Cambridge (1985)Google Scholar
  12. 12.
    Ong, C.-H.L.: Observational equivalence of 3rd-order Idealized Algol is decidable. In: Proceedings of IEEE Symposium on Logic in Computer Science, pp. 245–256. Computer Society Press (2002)Google Scholar
  13. 13.
    Pitts, A.M., Stark, I.: On the observable properties of higher order functions that dynamically create local names, or: What’s new? In: Borzyszkowski, A.M., Sokolowski, S. (eds.) MFCS 1993. LNCS, vol. 711, pp. 122–141. Springer, Heidelberg (1993)Google Scholar
  14. 14.
    Plotkin, G.D.: LCF considered as a programming language. Theoretical Computer Science 5, 223–255 (1977)CrossRefMathSciNetGoogle Scholar
  15. 15.
    Power, J.: Semantics for local computational effects. Electr. Notes Theor. Comput. Sci. 158, 355–371 (2006)CrossRefGoogle Scholar
  16. 16.
    Reynolds, J.C.: The essence of Algol. In: de Bakker, J.W., van Vliet, J.C. (eds.) Algorithmic Languages, pp. 345–372. North Holland, Amsterdam (1981)Google Scholar
  17. 17.
    Stark, I.D.B.: Names and Higher-Order Functions. PhD thesis, University of Cambridge Computing Laboratory, Technical Report No. 363 (1995)Google Scholar
  18. 18.
    Tzevelekos, N.: Full abstraction for nominal general references. Logical Methods in Computer Science 5(3) (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Andrzej S. Murawski
    • 1
  • Nikos Tzevelekos
    • 1
  1. 1.Oxford University Computing LaboratoryOxfordUK

Personalised recommendations