Skip to main content

Modular Edit Lenses

  • Chapter
  • First Online:
Book cover Bidirectional Transformations

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9715))

Abstract

This article is a reading guide to the theory of symmetric edit lenses by Pierce, Wagner, and the author, which form a general framework for the modular construction of bidirectional synchronizers and which generalize the popular lenses framework by Foster and Pierce to a truly symmetric, bidirectional setting.

The article describes both the state-based and the edit-based version, as well as an extended example instantiation involving tree-structured data. The main focus is on edit lenses and the categorical combinators which allow for their modular construction. The article is based on three original research papers [9,10,11, 22] and summarises these in a concise form but does not contain new scientific material.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Abbott, M., Altenkirch, T., Ghani, N.: Containers: constructing strictly positive types. Theor. Comput. Sci. 342(1), 3–27 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  2. Verity, D., Joyal, A., Street, R.: Traced monoidal categories. Math. Proc. Camb. Philos. Soc. 3, 447–468 (1996). https://en.wikipedia.org/wiki/Traced_monoidal_category

    MathSciNet  MATH  Google Scholar 

  3. Balegas, V., Li, C., Najafzadeh, M., Porto, D., Clement, A., Duarte, S., Ferreira, C., Gehrke, J., Leitão, J., Preguiça, N.M., Rodrigues, R., Shapiro, M., Vafeiadis, V.: Geo-replication: fast if possible, consistent if necessary. IEEE Data Eng. Bull. 39(1), 81–92 (2016)

    Google Scholar 

  4. Dal Zilio, S., Lugiez, D.: XML schema, tree logic and sheaves automata. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 246–263. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-44881-0_18

    Chapter  Google Scholar 

  5. Diskin, Z.: Algebraic models for bidirectional model synchronization. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 21–36. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-87875-9_2

    Chapter  Google Scholar 

  6. Diskin, Z., Xiong, Y., Czarnecki, K., Ehrig, H., Hermann, F., Orejas, F.: From state- to delta-based bidirectional model transformations: the symmetric case. Technical report GSDLAB-TR 2011–05-03. University of Waterloo, May 2011

    Google Scholar 

  7. Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. ACM Trans. Program. Lang. Syst. 29(3), 17 (2007). Extended abstract in Principles of Programming Languages (POPL), 2005

    Article  MATH  Google Scholar 

  8. Foster, J.N., Pierce, B.C., Schmitt, A.: A logic your typechecker can count on: unordered tree types in practice. In: PLAN-X 2007, Programming Language Technologies for XML, an ACM SIGPLAN Workshop Colocated with POPL 2007, Nice, France, 20 January 2007, pp. 80–90 (2007)

    Google Scholar 

  9. Hofmann, M., Pierce, B.C., Wagner, D.: Symmetric lenses. In: ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), Austin, Texas, January 2011. Full version to appear in the Journal of the ACM

    Google Scholar 

  10. Hofmann, M., Pierce, B.C., Wagner, D.: Edit lenses. In: Field, J., Hicks, M. (eds.) Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2012, Philadelphia, Pennsylvania, USA, 22–28 January 2012, pp. 495–508. ACM (2012)

    Google Scholar 

  11. Hofmann, M., Pierce, B.C., Wagner, D.: Edit languages for information trees. ECEASST 57 (2013). https://doi.org/10.14279/tuj.eceasst.57.872

  12. Johnson, M., Rosebrugh, R., Wood, R.: Lenses, fibrations, and universal translations. Math. Struct. Comput. Sci. 22, 25–42 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  13. Johnson, M., Rosebrugh, R.D., Wood, R.: Algebras and update strategies. J. Univ. Comput. Sci. 16, 729–748 (2010)

    MathSciNet  MATH  Google Scholar 

  14. Joyal, A., Street, R.: The geometry of tensor calculus, I. Adv. Math. 88(1), 55–112 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  15. Joyal, A.: Une théorie combinatoire des séries formelles. Adv. Math. 42, 1–82 (1981). https://en.wikipedia.org/wiki/Combinatorial_species

    Article  MathSciNet  MATH  Google Scholar 

  16. Ko, H.-S., Zan, T., Hu, Z.: BiGUL: a formally verified core language for putback-based bidirectional programming. In: Erwig, M., Rompf, T. (eds.) Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2016, St. Petersburg, FL, USA, 20–22 January 2016, pp. 61–72. ACM (2016)

    Google Scholar 

  17. Matsuda, K., Wang, M.: Applicative bidirectional programming with lenses. In: Fisher, K., Reppy, J.H. (eds.) Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming, ICFP 2015, Vancouver, BC, Canada, 1–3 September 2015, pp. 62–74. ACM (2015)

    Google Scholar 

  18. Meertens, L.: Designing constraint maintainers for user interaction (1998). Manuscript

    Google Scholar 

  19. Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 1–15. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-75209-7_1

    Chapter  Google Scholar 

  20. Voigtländer, J.: Bidirectionalization for free! (pearl). In: Shao, Z., Pierce, B.C. (eds.) Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2009, Savannah, GA, USA, 21–23 January 2009, pp. 165–176. ACM (2009)

    Google Scholar 

  21. Voigtländer, J., Hu, Z., Matsuda, K., Wang, M.: Combining syntactic and semantic bidirectionalization. In: Hudak, P., Weirich, S. (eds.) ICFP, pp. 181–192. ACM (2010)

    Google Scholar 

  22. Wagner, D.: Symmetric edit lenses: a new foundation for bidirectional languages. Ph.D. thesis. University of Pennsylvania (2014)

    Google Scholar 

  23. Xiong, Y., Song, H., Hu, Z., Takeichi, M.: Supporting parallel updates with bidirectional model transformations. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 213–228. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02408-5_15

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Hofmann, M. (2018). Modular Edit Lenses. In: Gibbons, J., Stevens, P. (eds) Bidirectional Transformations. Lecture Notes in Computer Science(), vol 9715. Springer, Cham. https://doi.org/10.1007/978-3-319-79108-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-79108-1_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-79107-4

  • Online ISBN: 978-3-319-79108-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics