Reading, Writing and Relations

Towards Extensional Semantics for Effect Analyses
  • Nick Benton
  • Andrew Kennedy
  • Martin Hofmann
  • Lennart Beringer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4279)


We give an elementary semantics to an effect system, tracking read and write effects by using relations over a standard extensional semantics for the original language. The semantics establishes the soundness of both the analysis and its use in effect-based program transformations.


Dead Computation Denotational Semantic Lambda Calculus Imperative Program Subtyping Relation 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Banerjee, A., Heintze, N., Riecke, J.G.: A core calculus of dependency. In: 26th Symposium on Principles of Programming Languages (POPL) (1999)Google Scholar
  2. 2.
    Banerjee, A., Heintze, N., Riecke, J.: Region analysis and the polymorphic lambda calculus. In: Proceedings of the 14th IEEE Symposium on Logic in Computer Science (LICS) (1999)Google Scholar
  3. 3.
    Benton, N.: Simple relational correctness proofs for static analyses and program transformations. In: Proceedings of the 31st ACM Symposium on Principles of Programming Languages (POPL) (January 2004), Revised version available from:
  4. 4.
    Benton, N.: Semantics of program analyses and transformations. Lecture Notes for the PAT Summer School, Copenhagen (June 2005)Google Scholar
  5. 5.
    Benton, N., Hughes, J., Moggi, E.: Monads and effects. In: Barthe, G., Dybjer, P., Pinto, L., Saraiva, J. (eds.) APPSEM 2000. LNCS, vol. 2395, p. 42. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  6. 6.
    Benton, N., Kennedy, A.: Monads, effects and transformations. In: 3rd International Workshop on Higher Order Operational Techniques in Semantics (HOOTS), Paris. Electronic Notes in Theoretical Computer Science, vol. 26. Elsevier, Amsterdam (1999)Google Scholar
  7. 7.
    Benton, N., Leperchey, B.: Relational reasoning in a nominal semantics for storage. In: Urzyczyn, P. (ed.) TLCA 2005. LNCS, vol. 3461, pp. 86–101. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Gifford, D.K., Lucassen, J.M.: Integrating functional and imperative programming. In: ACM Conference on LISP and Functional Programming, Cambridge, Massachusetts (August 1986)Google Scholar
  9. 9.
    Helsen, S.: Bisimilarity for the region calculus. Higher-Order and Symbolic Computation 17(4) (2004)Google Scholar
  10. 10.
    Jones, S.P., Launchbury, J.: State in Haskell. Lisp and Symbolic Computation 8(4) (1995)Google Scholar
  11. 11.
    Lucassen, J.M., Gifford, D.K.: Polymorphic effect systems. In: Conference Record of the 15th Annual ACM Symposium on Principles of Programming Languages (POPL) (1988)Google Scholar
  12. 12.
    Moggi, E., Sabry, A.: Monadic encapsulation of effects: A revised approach (extended version). Journal of Functional Programming 11(6) (2001)Google Scholar
  13. 13.
    Naumann, D.: Observational purity and encapsulation. Theoretical Computer Science (to appear)Google Scholar
  14. 14.
    Pitts, A.M., Stark, I.D.B.: Operational reasoning for functions with local state. In: Higher Order Operational Techniques in Semantics. CUP (1998)Google Scholar
  15. 15.
    Plotkin, G.D., Power, J.: Notions of computation determine monads. In: Nielsen, M., Engberg, U. (eds.) FOSSACS 2002. LNCS, vol. 2303, p. 342. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  16. 16.
    Reddy, U.S., Yang, H.: Correctness of data representations involving heap data structures. Science of Computer Programming 50(1-3), 129–160 (2004)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Reynolds, J.C.: The meaning of types – from intrinsic to extrinsic semantics. Technical Report BRICS RS-00-32, BRICS, University of Aarhus (December 2000)Google Scholar
  18. 18.
    Sabelfeld, A., Sands, D.: A PER model of secure information flow in sequential programs. Higher-Order and Symbolic Computation 14(1), 59–91 (2001)MATHCrossRefGoogle Scholar
  19. 19.
    Tofte, M., Talpin, J.-P.: Region-based memory management. Information and Computation 132(2), 109–176 (1997)MATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Tolmach, A.: Optimizing ML: Using a hierarchy of monadic types. In: Leroy, X., Ohori, A. (eds.) TIC 1998. LNCS, vol. 1473, pp. 97–115. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  21. 21.
    Wadler, P., Thiemann, P.: The marriage of effects and monads. ACM Trans. Comput. Logic 4(1), 1–32 (2003)CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Nick Benton
    • 1
  • Andrew Kennedy
    • 1
  • Martin Hofmann
    • 2
  • Lennart Beringer
    • 2
  1. 1.Microsoft ResearchCambridge
  2. 2.Ludwig-Maximilians-UniversitätMünchen

Personalised recommendations