skip to main content
research-article

Combining syntactic and semantic bidirectionalization

Published:27 September 2010Publication History
Skip Abstract Section

Abstract

Matsuda et al. [2007, ICFP] and Voigtländer [2009, POPL] introduced two techniques that given a source-to-view function provide an update propagation function mapping an original source and an updated view back to an updated source, subject to standard consistency conditions. Being fundamentally different in approach, both techniques have their respective strengths and weaknesses. Here we develop a synthesis of the two techniques to good effect. On the intersection of their applicability domains we achieve more than what a simple union of applying the techniques side by side delivers.

Skip Supplemental Material Section

Supplemental Material

icfp-tues-1400-voigtlander.mov

References

  1. }}S. Antoy and M. Hanus. Functional logic programming. Communications of the ACM, 53(4):74--85, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. }}F. Bancilhon and N. Spyratos. Update semantics of relational views. ACM Transactions on Database Systems, 6(3):557--575, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. }}A. Bohannon, B. C. Pierce, and J. A. Vaughan. Relational lenses: A language for updatable views. In Principles of Database Systems, Proceedings, pages 338--347. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. }}A. Bohannon, J. N. Foster, B. C. Pierce, A. Pilkiewicz, and A. Schmitt. Boomerang: Resourceful lenses for string data. In Principles of Programming Languages, Proceedings, pages 407--419. ACM Press, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. }}K. Czarnecki, J. N. Foster, Z. Hu, R. Lämmel, A. Schürr, and J. F. Terwilliger. Bidirectional transformations: A cross-discipline perspective. In International Conference on Model Transformation, Proceedings, volume 5563 of LNCS, pages 260--283. Springer-Verlag, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}J. N. Foster, M. B. Greenwald, J. T. Moore, B. C. Pierce, and A. Schmitt. Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem. ACM Transactions on Programming Languages and Systems, 29(3):17, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. }}J. N. Foster, A. Pilkiewicz, and B. C. Pierce. Quotient lenses. In International Conference on Functional Programming, Proceedings, pages 383--395. ACM Press, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}J. Giesl. Context-moving transformations for function verification. In Logic-Based Program Synthesis and Transformation 1999, Selected Papers, volume 1817 of LNCS, pages 293--312. Springer-Verlag, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. }}J. Giesl, A. Kühnemann, and J. Voigtländer. Deaccumulation techniques for improving provability. Journal of Logic and Algebraic Programming, 71(2):79--113, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  10. }}G. Gottlob, P. Paolini, and R. Zicari. Properties and update semantics of consistent views. ACM Transactions on Database Systems, 13(4):486--524, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. }}Z. Hu, S.-C. Mu, and M. Takeichi. A programmable editor for developing structured documents based on bidirectional transformations. In Partial Evaluation and Semantics-Based Program Manipulation, Proceedings, pages 178--189. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. }}A. M. Keller. Comments on Bancilhon and Spyratos' "Update semantics and relational views". ACM Transactions on Database Systems, 12(3):521--523, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. }}K. Matsuda, Z. Hu, K. Nakano, M. Hamana, and M. Takeichi. Bidirectionalization transformation based on automatic derivation of view complement functions. In International Conference on Functional Programming, Proceedings, pages 47--58. ACM Press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. }}K. Matsuda, Z. Hu, K. Nakano, M. Hamana, and M. Takeichi. Bidirectionalizing programs with duplication through complementary function derivation. Computer Software, 26(2):56--75, 2009.Google ScholarGoogle Scholar
  15. }}A. Pettorossi. Transformation of programs and use of tupling strategy. In Informatica, Proceedings, pages 1--6, 1977.Google ScholarGoogle Scholar
  16. }}J. C. Reynolds. Types, abstraction and parametric polymorphism. In Information Processing, Proceedings, pages 513--523. Elsevier, 1983.Google ScholarGoogle Scholar
  17. }}C. Strachey. Fundamental concepts in programming languages. Lecture notes for a course at the International Summer School in Computer Programming, 1967. Reprint appeared in Higher-Order and Symbolic Computation, 13(1-2):11--49, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. }}J. Voigtländer. Bidirectionalization for free! In Principles of Programming Languages, Proceedings, pages 165--176. ACM Press, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. }}P. Wadler. Theorems for free! In Functional Programming Languages and Computer Architecture, Proceedings, pages 347--359. ACM Press, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. }}P. Wadler. Deforestation: Transforming programs to eliminate trees. Theoretical Computer Science, 73(2):231--248, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Combining syntactic and semantic bidirectionalization

            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

            Full Access

            • Published in

              cover image ACM SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 45, Issue 9
              ICFP '10
              September 2010
              382 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/1932681
              Issue’s Table of Contents
              • cover image ACM Conferences
                ICFP '10: Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
                September 2010
                398 pages
                ISBN:9781605587943
                DOI:10.1145/1863543

              Copyright © 2010 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 27 September 2010

              Check for updates

              Qualifiers

              • research-article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader

            ePub

            View this article in ePub.

            View ePub
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!