skip to main content
10.1145/1273920.1273932acmconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
Article

Relational semantics for effect-based program transformations with dynamic allocation

Published:14 July 2007Publication History

ABSTRACT

We give a denotational semantics to a region-based effect system tracking reading, writing and allocation in a higher-order language with dynamically allocated integer references.

Effects are interpreted in terms of the preservation of certain binary relations on the store, parameterized by region-indexed partial bijections on locations.

The semantics validates a number of effect-dependent program equivalences and can thus serve as a foundation for effect-based compiler transformations.

References

  1. M. Abadi. TT-closed relations and admissibility. Mathematical Structures in Computer Science, 10(3), 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Abramsky. The lazy lambda calculus. In D. Turner, editor, Research Directions in Functional Programming, chapter 4, pages 65--116. Addison-Wesley, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Banerjee, N. Heintze, and J. Riecke. Region analysis and the polymorphic lambda calculus. In Proceedings of the 14th IEEE Symposium on Logic in Computer Science (LICS), 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. N. Benton. Simple relational correctness proofs for static analyses and program transformations. In 31st ACM Symposium on Principles of Programming Languages (POPL), 2004. Revised version available from http://research.microsoft.com/~nick/publications.htm. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. N. Benton and P. Buchlovsky. Semantics of an effect analysis for exceptions. In 3rd ACM-SIGPLAN Workshop on Types in Language Design and Implementation (TLDI), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. N. Benton, J. Hughes, and E. Moggi. Monads and effects. In Applied Semantics, Advanced Lectures, volume 2395 of LNCS. Springer-Verlag, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. N. Benton and A. Kennedy. Monads, effects and transformations. In 3rd International Workshop on Higher Order Operational Techniques in Semantics (HOOTS), volume 26 of ENTCS. Elsevier, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  8. N. Benton, A. Kennedy, L. Beringer, and M. Hofmann. Reading, writing, and relations: Towards extensional semantics for effect analyses. In 4th Asian Symposium on Programming Languages and Systems (APLAS), LNCS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. N. Benton and B. Leperchey. Relational reasoning in a nominal semantics for storage. In 7th International Conference on Typed Lambda Calculi and Applications (TLCA), volume 3461 of LNCS, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Nick Benton, John Hughes, and Eugenio Moggi. Monads and effects. In Applied Semantics, International Summer School, Springer LNCS 2395, pages 42--122, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. N. Bohr and L. Birkedal. Relational reasoning for recursive types and references. In APLAS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Fluet and G. Morrisett. Monadic regions. Journal of Functional Programming, 2006. to appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. K. Gifford and J. M. Lucassen. Integrating functional and imperative programming. In ACM Conference on LISP and Functional Programming, Cambridge, Massachusetts, August 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Y. Halpern, A. R. Meyer, and B. A. Trakhtenbrot. The semantics of local storage, or what makes the free-list free? In Proceedings of the 11th ACM Symposium on Principles of Programming Languages (POPL), 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Peyton Jones and J. Launchbury. State in Haskell. Lisp and Symbolic Computation, 8(4), 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Vasileios Koutavas and Mitchell Wand. Small bisimulations for reasoning about higher-order imperative programs. In POPL, pages 141--152, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. M. Lucassen and D. K. Gifford. Polymorphic effect systems. In 15th ACM Symposium on Principles of Programming Languages (POPL), 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. R. Meyer and K. Sieber. Towards a fully abstract semantics for local variables: Preliminary report. In Proceedings of the 15th Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), January 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. R. Milner. Communication and Concurrency. Prentice-Hall International, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. E. Moggi and A. Sabry. Monadic encapsulation of effects: A revised approach (extended version). Journal of Functional Programming, 11(6), 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Naumann. Observational purity and encapsulation. Theoretical Computer Science, To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. P. W. O'Hearn and R. D. Tennent. Parametricity and local variables. Journal of the ACM, 42(3):658--709, May 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. A. M. Pitts and I. D. B. Stark. Operational reasoning for functions with local state. In Higher Order Operational Techniques in Semantics. CUP, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. U. S. Reddy and H. Yang. Correctness of data representations involving heap data structures. Science of Computer Programming, 50(1-3):129--160, March 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. B. Reus and J. Schwinghammer. Denotational semantics for a program logic of objects. Mathematical Structures in Computer Science, 2006. in press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. E. Sumii and B. C. Pierce. A bisimulation for type abstraction and recursion. In POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages. ACM Press, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. R. D. Tennent and D. R. Ghica. Abstract models of storage. Higher-Order and Symbolic Computation, 13(1/2):119--129, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Tofte and J. -P. Talpin. Region-based memory management. Information and Computation, 132(2):109--176, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. P. Wadler and P. Thiemann. The marriage of effects and monads. ACM Trans. Comput. Logic, 4(1):1--32, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Relational semantics for effect-based program transformations with dynamic allocation

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              PPDP '07: Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
              July 2007
              240 pages
              ISBN:9781595937698
              DOI:10.1145/1273920

              Copyright © 2007 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 14 July 2007

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

              Acceptance Rates

              Overall Acceptance Rate230of486submissions,47%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader