{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,11]],"date-time":"2026-04-11T10:03:36Z","timestamp":1775901816845,"version":"3.50.1"},"publisher-location":"Cham","reference-count":58,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783032227225","type":"print"},{"value":"9783032227232","type":"electronic"}],"license":[{"start":{"date-parts":[[2026,1,1]],"date-time":"2026-01-01T00:00:00Z","timestamp":1767225600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2026,1,1]],"date-time":"2026-01-01T00:00:00Z","timestamp":1767225600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2026]]},"DOI":"10.1007\/978-3-032-22723-2_2","type":"book-chapter","created":{"date-parts":[[2026,4,10]],"date-time":"2026-04-10T12:02:40Z","timestamp":1775822560000},"page":"32-63","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Lenses for Partially-Specified States"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-9747-4899","authenticated-orcid":false,"given":"Kazutaka","family":"Matsuda","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3845-9928","authenticated-orcid":false,"given":"Minh","family":"Nguyen","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7780-630X","authenticated-orcid":false,"given":"Meng","family":"Wang","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2026,4,10]]},"reference":[{"key":"2_CR1","doi-asserted-by":"crossref","unstructured":"Abou-Saleh, F., Cheney, J., Gibbons, J., McKinna, J., Stevens, P.: Reflections on monadic lenses. In: Lindley, S., McBride, C., Trinder, P.W., Sannella, D. (eds.) A List of Successes That Can Change the World - Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday. Lecture Notes in Computer Science, vol.\u00a09600, pp. 1\u201331. Springer (2016). https:\/\/doi.org\/10.1007\/978-3-319-30936-1_1","DOI":"10.1007\/978-3-319-30936-1_1"},{"key":"2_CR2","unstructured":"Ahman, D., Uustalu, T.: Taking updates seriously. In: Eramo, R., Johnson, M. (eds.) Proceedings of the 6th International Workshop on Bidirectional Transformations co-located with The European Joint Conferences on Theory and Practice of Software, BX@ETAPS 2017, Uppsala, Sweden, April 29, 2017. CEUR Workshop Proceedings, vol.\u00a01827, pp. 59\u201373. CEUR-WS.org (2017), https:\/\/ceur-ws.org\/Vol-1827\/paper11.pdf"},{"key":"2_CR3","doi-asserted-by":"crossref","unstructured":"Almeida, P.S., Shoker, A., Baquero, C.: Delta state replicated data types. J. Parallel Distributed Comput. 111, 162\u2013173 (2018). https:\/\/doi.org\/10.1016\/j.jpdc.2017.08.003","DOI":"10.1016\/j.jpdc.2017.08.003"},{"key":"2_CR4","doi-asserted-by":"crossref","unstructured":"Bancilhon, F., Spyratos, N.: Update semantics of relational views. ACM Trans. Database Syst. 6(4), 557\u2013575 (1981). https:\/\/doi.org\/10.1145\/319628.319634","DOI":"10.1145\/319628.319634"},{"key":"2_CR5","doi-asserted-by":"crossref","unstructured":"Barbosa, D.M.J., Cretin, J., Foster, N., Greenberg, M., Pierce, B.C.: Matching lenses: alignment and view update. In: Hudak, P., Weirich, S. (eds.) Proceeding of the 15th ACM SIGPLAN international conference on Functional programming, ICFP 2010, Baltimore, Maryland, USA, September 27-29, 2010. pp. 193\u2013204. ACM (2010). https:\/\/doi.org\/10.1145\/1863543.1863572","DOI":"10.1145\/1863543.1863572"},{"key":"2_CR6","doi-asserted-by":"crossref","unstructured":"Bohannon, A., Foster, J.N., Pierce, B.C., Pilkiewicz, A., Schmitt, A.: Boomerang: resourceful lenses for string data. In: Necula, G.C., Wadler, P. (eds.) Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2008, San Francisco, California, USA, January 7-12, 2008. pp. 407\u2013419. ACM (2008). https:\/\/doi.org\/10.1145\/1328438.1328487","DOI":"10.1145\/1328438.1328487"},{"key":"2_CR7","doi-asserted-by":"crossref","unstructured":"Bohannon, A., Pierce, B.C., Vaughan, J.A.: Relational lenses: a language for updatable views. In: Vansummeren, S. (ed.) Proceedings of the Twenty-Fifth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, June 26-28, 2006, Chicago, Illinois, USA. pp. 338\u2013347. ACM (2006). https:\/\/doi.org\/10.1145\/1142351.1142399","DOI":"10.1145\/1142351.1142399"},{"key":"2_CR8","unstructured":"Boisseau, G.: String diagrams for optics. In: Ariola, Z.M. (ed.) 5th International Conference on Formal Structures for Computation and Deduction, FSCD 2020, June 29-July 6, 2020, Paris, France (Virtual Conference). LIPIcs, vol.\u00a0167, pp. 17:1\u201317:18. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2020). https:\/\/doi.org\/10.4230\/LIPIcs.FSCD.2020.17"},{"key":"2_CR9","doi-asserted-by":"crossref","unstructured":"Chin, W.: Towards an automated tupling strategy. In: Schmidt, D.A. (ed.) Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, PEPM\u201993, Copenhagen, Denmark, June 14-16, 1993. pp. 119\u2013132. ACM (1993). https:\/\/doi.org\/10.1145\/154630.154643","DOI":"10.1145\/154630.154643"},{"key":"2_CR10","doi-asserted-by":"crossref","unstructured":"Cunha, J., Fernandes, J.P., Mendes, J., Pacheco, H., Saraiva, J.: Bidirectional transformation of model-driven spreadsheets. In: Hu, Z., de\u00a0Lara, J. (eds.) Theory and Practice of Model Transformations - 5th International Conference, ICMT@TOOLS 2012, Prague, Czech Republic, May 28-29, 2012. Proceedings. Lecture Notes in Computer Science, vol.\u00a07307, pp. 105\u2013120. Springer (2012). https:\/\/doi.org\/10.1007\/978-3-642-30476-7_7","DOI":"10.1007\/978-3-642-30476-7_7"},{"key":"2_CR11","doi-asserted-by":"crossref","unstructured":"Diskin, Z., Xiong, Y., Czarnecki, K.: From state- to delta-based bidirectional model transformations: the asymmetric case. J. Object Technol. 10, 6: 1\u201325 (2011). https:\/\/doi.org\/10.5381\/jot.2011.10.1.a6","DOI":"10.5381\/jot.2011.10.1.a6"},{"key":"2_CR12","doi-asserted-by":"crossref","unstructured":"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. In: Palsberg, J., Abadi, M. (eds.) Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2005, Long Beach, California, USA, January 12-14, 2005. pp. 233\u2013246. ACM (2005). https:\/\/doi.org\/10.1145\/1040305.1040325","DOI":"10.1145\/1040305.1040325"},{"key":"2_CR13","doi-asserted-by":"publisher","unstructured":"Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. 29(3) (2007). https:\/\/doi.org\/10.1145\/1232420.1232424","DOI":"10.1145\/1232420.1232424"},{"key":"2_CR14","doi-asserted-by":"crossref","unstructured":"Foster, J.N., Pilkiewicz, A., Pierce, B.C.: Quotient lenses. In: Hook, J., Thiemann, P. (eds.) Proceeding of the 13th ACM SIGPLAN international conference on Functional programming, ICFP 2008, Victoria, BC, Canada, September 20-28, 2008. pp. 383\u2013396. ACM (2008). https:\/\/doi.org\/10.1145\/1411204.1411257","DOI":"10.1145\/1411204.1411257"},{"key":"2_CR15","doi-asserted-by":"crossref","unstructured":"Goldstein, H., Frohlich, S., Wang, M., Pierce, B.C.: Reflecting on random generation. Proc. ACM Program. Lang. 7(ICFP), 322\u2013355 (2023). https:\/\/doi.org\/10.1145\/3607842","DOI":"10.1145\/3607842"},{"key":"2_CR16","doi-asserted-by":"crossref","unstructured":"Hegner, S.J.: Foundations of canonical update support for closed database views. In: Abiteboul, S., Kanellakis, P.C. (eds.) ICDT\u201990, Third International Conference on Database Theory, Paris, France, December 12-14, 1990, Proceedings. Lecture Notes in Computer Science, vol.\u00a0470, pp. 422\u2013436. Springer (1990). https:\/\/doi.org\/10.1007\/3-540-53507-1_93","DOI":"10.1007\/3-540-53507-1_93"},{"key":"2_CR17","doi-asserted-by":"crossref","unstructured":"Hegner, S.J.: An order-based theory of updates for closed database views. Ann. Math. Artif. Intell. 40(1-2), 63\u2013125 (2004). https:\/\/doi.org\/10.1023\/A:1026158013113","DOI":"10.1023\/A:1026158013113"},{"key":"2_CR18","doi-asserted-by":"crossref","unstructured":"Hidaka, S., Hu, Z., Inaba, K., Kato, H., Matsuda, K., Nakano, K.: Bidirectionalizing graph transformations. In: Hudak, P., Weirich, S. (eds.) Proceeding of the 15th ACM SIGPLAN international conference on Functional programming, ICFP 2010, Baltimore, Maryland, USA, September 27-29, 2010. pp. 205\u2013216. ACM (2010). https:\/\/doi.org\/10.1145\/1863543.1863573","DOI":"10.1145\/1863543.1863573"},{"key":"2_CR19","doi-asserted-by":"crossref","unstructured":"Hofmann, M., Pierce, B.C., Wagner, D.: Symmetric lenses. In: Ball, T., Sagiv, M. (eds.) Proceedings of the 38th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2011, Austin, TX, USA, January 26-28, 2011. pp. 371\u2013384. ACM (2011). https:\/\/doi.org\/10.1145\/1926385.1926428","DOI":"10.1145\/1926385.1926428"},{"key":"2_CR20","doi-asserted-by":"crossref","unstructured":"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, January 22-28, 2012. pp. 495\u2013508. ACM (2012). https:\/\/doi.org\/10.1145\/2103656.2103715","DOI":"10.1145\/2103656.2103715"},{"key":"2_CR21","doi-asserted-by":"crossref","unstructured":"Horn, R., Perera, R., Cheney, J.: Incremental relational lenses. Proc. ACM Program. Lang. 2(ICFP), 74:1\u201374:30 (2018). https:\/\/doi.org\/10.1145\/3236769","DOI":"10.1145\/3236769"},{"key":"2_CR22","doi-asserted-by":"crossref","unstructured":"Hu, Z., Iwasaki, H., Takeichi, M., Takano, A.: Tupling calculation eliminates multiple data traversals. In: Peyton Jones, S.L., Tofte, M., Berman, A.M. (eds.) Proceedings of the 1997 ACM SIGPLAN International Conference on Functional Programming (ICFP \u201997), Amsterdam, The Netherlands, June 9-11, 1997. pp. 164\u2013175. ACM (1997). https:\/\/doi.org\/10.1145\/258948.258964","DOI":"10.1145\/258948.258964"},{"key":"2_CR23","doi-asserted-by":"crossref","unstructured":"Hu, Z., Ko, H.: Principles and practice of bidirectional programming in BiGUL. In: Gibbons, J., Stevens, P. (eds.) Bidirectional Transformations - International Summer School, Oxford, UK, July 25-29, 2016, Tutorial Lectures. Lecture Notes in Computer Science, vol.\u00a09715, pp. 100\u2013150. Springer (2016). https:\/\/doi.org\/10.1007\/978-3-319-79108-1_4","DOI":"10.1007\/978-3-319-79108-1_4"},{"key":"2_CR24","doi-asserted-by":"crossref","unstructured":"Hu, Z., Mu, S., Takeichi, M.: A programmable editor for developing structured documents based on bidirectional transformations. In: Heintze, N., Sestoft, P. (eds.) Proceedings of the 2004 ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, 2004, Verona, Italy, August 24-25, 2004. pp. 178\u2013189. ACM (2004). https:\/\/doi.org\/10.1145\/1014007.1014025","DOI":"10.1145\/1014007.1014025"},{"key":"2_CR25","doi-asserted-by":"crossref","unstructured":"Keller, A.M.: Comments on Bancilhon and Spyratos\u2019 \"update semantics and relational views\". ACM Trans. Database Syst. 12(3), 521\u2013523 (1987). https:\/\/doi.org\/10.1145\/27629.214296","DOI":"10.1145\/27629.214296"},{"key":"2_CR26","doi-asserted-by":"crossref","unstructured":"Ko, H., 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, January 20 - 22, 2016. pp. 61\u201372. ACM (2016). http:\/\/doi.acm.org\/10.1145\/2847538.2847544","DOI":"10.1145\/2847538.2847544"},{"key":"2_CR27","unstructured":"van Laarhoven, T.: Cps based functional references. blog post: https:\/\/www.twanvl.nl\/blog\/haskell\/cps-functional-references (2009), visited 2024-10-08"},{"key":"2_CR28","doi-asserted-by":"crossref","unstructured":"Macedo, N., Pacheco, H., Sousa, N.R., Cunha, A.: Bidirectional spreadsheet formulas. In: Fleming, S.D., Fish, A., Scaffidi, C. (eds.) IEEE Symposium on Visual Languages and Human-Centric Computing, VL\/HCC 2014, Melbourne, VIC, Australia, July 28 - August 1, 2014. pp. 161\u2013168. IEEE Computer Society (2014). https:\/\/doi.org\/10.1109\/VLHCC.2014.6883041","DOI":"10.1109\/VLHCC.2014.6883041"},{"key":"2_CR29","doi-asserted-by":"crossref","unstructured":"Matsuda, K., Frohlich, S., Wang, M., Wu, N.: Embedding by unembedding. Proc. ACM Program. Lang. 7(ICFP), 1\u201347 (2023). https:\/\/doi.org\/10.1145\/3607830","DOI":"10.1145\/3607830"},{"key":"2_CR30","doi-asserted-by":"crossref","unstructured":"Matsuda, K., Hu, Z., Nakano, K., Hamana, M., Takeichi, M.: Bidirectionalization transformation based on automatic derivation of view complement functions. In: Hinze, R., Ramsey, N. (eds.) Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming, ICFP 2007, Freiburg, Germany, October 1-3, 2007. pp. 47\u201358. ACM (2007). https:\/\/doi.org\/10.1145\/1291151.1291162","DOI":"10.1145\/1291151.1291162"},{"key":"2_CR31","doi-asserted-by":"crossref","unstructured":"Matsuda, K., Nguyen, M., Wang, M.: Lenses for partially-specified states (extended version) (2026), https:\/\/arxiv.org\/abs\/2601.04573","DOI":"10.1007\/978-3-032-22723-2_2"},{"key":"2_CR32","doi-asserted-by":"crossref","unstructured":"Matsuda, K., Wang, M.: FliPpr: A prettier invertible printing system. In: Felleisen, M., Gardner, P. (eds.) ESOP. Lecture Notes in Computer Science, vol.\u00a07792, pp. 101\u2013120. Springer (2013). https:\/\/doi.org\/10.1007\/978-3-642-37036-6_6","DOI":"10.1007\/978-3-642-37036-6_6"},{"key":"2_CR33","doi-asserted-by":"crossref","unstructured":"Matsuda, K., Wang, M.: Applicative bidirectional programming with lenses. In: Fisher, K., Reppy, J.H. (eds.) ICFP. pp. 62\u201374. ACM (2015). http:\/\/doi.acm.org\/10.1145\/2784731.2784750","DOI":"10.1145\/2784731.2784750"},{"key":"2_CR34","doi-asserted-by":"crossref","unstructured":"Matsuda, K., Wang, M.: \u201cBidirectionalization for free\u201d for monomorphic transformations. Sci. Comput. Program. 111, 79\u2013109 (2015). https:\/\/doi.org\/10.1016\/j.scico.2014.07.008","DOI":"10.1016\/j.scico.2014.07.008"},{"key":"2_CR35","doi-asserted-by":"crossref","unstructured":"Matsuda, K., Wang, M.: Applicative bidirectional programming: Mixing lenses and semantic bidirectionalization. J. Funct. Program. 28, \u00a0e15 (2018). https:\/\/doi.org\/10.1017\/S0956796818000096","DOI":"10.1017\/S0956796818000096"},{"key":"2_CR36","doi-asserted-by":"crossref","unstructured":"Matsuda, K., Wang, M.: Embedding invertible languages with binders: a case of the FliPpr language. In: Wu, N. (ed.) Proceedings of the 11th ACM SIGPLAN International Symposium on Haskell, Haskell@ICFP 2018, St. Louis, MO, USA, September 27-17, 2018. pp. 158\u2013171. ACM (2018). https:\/\/doi.org\/10.1145\/3242744.3242758","DOI":"10.1145\/3242744.3242758"},{"key":"2_CR37","doi-asserted-by":"crossref","unstructured":"Matsuda, K., Wang, M.: HOBiT: Programming lenses without using lens combinators. In: Ahmed, A. (ed.) ESOP. Lecture Notes in Computer Science, vol. 10801, pp. 31\u201359. Springer (2018). https:\/\/doi.org\/10.1007\/978-3-319-89884-1_2","DOI":"10.1007\/978-3-319-89884-1_2"},{"key":"2_CR38","doi-asserted-by":"crossref","unstructured":"Mayer, M., Kuncak, V., Chugh, R.: Bidirectional evaluation with direct manipulation. Proc. ACM Program. Lang. 2(OOPSLA), 127:1\u2013127:28 (2018). https:\/\/doi.org\/10.1145\/3276497","DOI":"10.1145\/3276497"},{"key":"2_CR39","unstructured":"Meertens, L.: Designing constraint maintainers for user interaction (1998), available on: https:\/\/www.kestrel.edu\/people\/meertens\/pub\/dcm.pdf"},{"key":"2_CR40","doi-asserted-by":"crossref","unstructured":"Mu, S., Hu, Z., Takeichi, M.: An algebraic approach to bi-directional updating. In: Chin, W. (ed.) Programming Languages and Systems: Second Asian Symposium, APLAS 2004, Taipei, Taiwan, November 4-6, 2004. Proceedings. Lecture Notes in Computer Science, vol.\u00a03302, pp. 2\u201320. Springer (2004). https:\/\/doi.org\/10.1007\/978-3-540-30477-7_2","DOI":"10.1007\/978-3-540-30477-7_2"},{"key":"2_CR41","unstructured":"O\u2019Connor, R.: Functor is to lens as applicative is to biplate: Introducing multiplate. CoRR abs\/1103.2841 (2011), http:\/\/arxiv.org\/abs\/1103.2841, accepted in WGP \u201911, but not included in its proceedings"},{"key":"2_CR42","doi-asserted-by":"crossref","unstructured":"Pacheco, H., Cunha, A.: Generic point-free lenses. In: Bolduc, C., Desharnais, J., Ktari, B. (eds.) Mathematics of Program Construction, 10th International Conference, MPC 2010, Qu\u00e9bec City, Canada, June 21-23, 2010. Proceedings. Lecture Notes in Computer Science, vol.\u00a06120, pp. 331\u2013352. Springer (2010). https:\/\/doi.org\/10.1007\/978-3-642-13321-3_19","DOI":"10.1007\/978-3-642-13321-3_19"},{"key":"2_CR43","doi-asserted-by":"crossref","unstructured":"Pickering, M., Gibbons, J., Wu, N.: Profunctor optics: Modular data accessors. Art Sci. Eng. Program. 1(2), \u00a07 (2017). https:\/\/doi.org\/10.22152\/programming-journal.org\/2017\/1\/7","DOI":"10.22152\/programming-journal.org\/2017\/1\/7"},{"key":"2_CR44","unstructured":"Riley, M.: Categories of optics (2018), https:\/\/arxiv.org\/abs\/1809.00738"},{"key":"2_CR45","doi-asserted-by":"crossref","unstructured":"Shapiro, M., Pregui\u00e7a, N.M., Baquero, C., Zawirski, M.: Conflict-free replicated data types. In: D\u00e9fago, X., Petit, F., Villain, V. (eds.) Stabilization, Safety, and Security of Distributed Systems - 13th International Symposium, SSS 2011, Grenoble, France, October 10-12, 2011. Proceedings. Lecture Notes in Computer Science, vol.\u00a06976, pp. 386\u2013400. Springer (2011). https:\/\/doi.org\/10.1007\/978-3-642-24550-3_29","DOI":"10.1007\/978-3-642-24550-3_29"},{"key":"2_CR46","doi-asserted-by":"crossref","unstructured":"Stevens, P.: A landscape of bidirectional model transformations. In: L\u00e4mmel, R., Visser, J., Saraiva, J. (eds.) GTTSE. Lecture Notes in Computer Science, vol.\u00a05235, pp. 408\u2013424. Springer (2008). https:\/\/doi.org\/10.1007\/978-3-540-88643-3_10","DOI":"10.1007\/978-3-540-88643-3_10"},{"key":"2_CR47","unstructured":"Takeichi, M.: Configuring bidirectional programs with functions. Presented at IFL 2009: International Symposium\/Workshop on Implementation and Application of Functional Languages (2009), available from: https:\/\/takeichimasato.net\/attachments\/XFun0.pdf"},{"key":"2_CR48","doi-asserted-by":"crossref","unstructured":"Voigtl\u00e4nder, 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, January 21-23, 2009. pp. 165\u2013176. ACM (2009). https:\/\/doi.org\/10.1145\/1480881.1480904","DOI":"10.1145\/1480881.1480904"},{"key":"2_CR49","doi-asserted-by":"crossref","unstructured":"Voigtl\u00e4nder, J., Hu, Z., Matsuda, K., Wang, M.: Combining syntactic and semantic bidirectionalization. In: Hudak, P., Weirich, S. (eds.) Proceeding of the 15th ACM SIGPLAN international conference on Functional programming, ICFP 2010, Baltimore, Maryland, USA, September 27-29, 2010. pp. 181\u2013192. ACM (2010). https:\/\/doi.org\/10.1145\/1863543.1863571","DOI":"10.1145\/1863543.1863571"},{"key":"2_CR50","doi-asserted-by":"crossref","unstructured":"Voigtl\u00e4nder, J., Hu, Z., Matsuda, K., Wang, M.: Enhancing semantic bidirectionalization via shape bidirectionalizer plug-ins. J. Funct. Program. 23(5), 515\u2013551 (2013). https:\/\/doi.org\/10.1017\/S0956796813000130","DOI":"10.1017\/S0956796813000130"},{"key":"2_CR51","doi-asserted-by":"crossref","unstructured":"Williams, J., Gordon, A.D.: Where-provenance for bidirectional editing in spreadsheets. J. Comput. Lang. 73, 101155 (2022). https:\/\/doi.org\/10.1016\/j.cola.2022.101155","DOI":"10.1016\/j.cola.2022.101155"},{"key":"2_CR52","doi-asserted-by":"crossref","unstructured":"Xie, R., Schrijvers, T., Hu, Z.: Biparsers: Exact printing for data synchronisation. Proc. ACM Program. Lang. 9(POPL), 2205\u20132231 (2025). https:\/\/doi.org\/10.1145\/3704910","DOI":"10.1145\/3704910"},{"key":"2_CR53","doi-asserted-by":"crossref","unstructured":"Xiong, Y., Liu, D., Hu, Z., Zhao, H., Takeichi, M., Mei, H.: Towards automatic model synchronization from model transformations. In: Stirewalt, R.E.K., Egyed, A., Fischer, B. (eds.) 22nd IEEE\/ACM International Conference on Automated Software Engineering (ASE 2007), November 5-9, 2007, Atlanta, Georgia, USA. pp. 164\u2013173. ACM (2007). https:\/\/doi.org\/10.1145\/1321631.1321657","DOI":"10.1145\/1321631.1321657"},{"key":"2_CR54","doi-asserted-by":"crossref","unstructured":"Yu, Y., Lin, Y., Hu, Z., Hidaka, S., Kato, H., Montrieux, L.: Maintaining invariant traceability through bidirectional transformations. In: Glinz, M., Murphy, G.C., Pezz\u00e8, M. (eds.) 34th International Conference on Software Engineering, ICSE 2012, June 2-9, 2012, Zurich, Switzerland. pp. 540\u2013550. IEEE Computer Society (2012). https:\/\/doi.org\/10.1109\/ICSE.2012.6227162","DOI":"10.1109\/ICSE.2012.6227162"},{"key":"2_CR55","doi-asserted-by":"crossref","unstructured":"Zhang, X., Hu, Z.: Towards bidirectional live programming for incomplete programs. In: 44th IEEE\/ACM 44th International Conference on Software Engineering, ICSE 2022, Pittsburgh, PA, USA, May 25-27, 2022. pp. 2154\u20132164. ACM (2022). https:\/\/doi.org\/10.1145\/3510003.3510195","DOI":"10.1145\/3510003.3510195"},{"key":"2_CR56","doi-asserted-by":"crossref","unstructured":"Zhang, X., Xie, R., Guo, G., He, X., Zan, T., Hu, Z.: Fusing direct manipulations into functional programs. Proc. ACM Program. Lang. 8(POPL), 1211\u20131238 (2024). https:\/\/doi.org\/10.1145\/3632883","DOI":"10.1145\/3632883"},{"key":"2_CR57","unstructured":"Zhu, Z., Ko, H., Martins, P., Saraiva, J., Hu, Z.: BiYacc: Roll your parser and reflective printer into one. In: Cunha, A., Kindler, E. (eds.) Proceedings of the 4th International Workshop on Bidirectional Transformations co-located with Software Technologies: Applications and Foundations, STAF 2015, L\u2019Aquila, Italy, July 24, 2015. CEUR Workshop Proceedings, vol.\u00a01396, pp. 43\u201350. CEUR-WS.org (2015), https:\/\/ceur-ws.org\/Vol-1396\/p43-zhu.pdf"},{"key":"2_CR58","doi-asserted-by":"publisher","unstructured":"Zhu, Z., Zhang, Y., Ko, H., Martins, P., Saraiva, J., Hu, Z.: Parsing and reflective printing, bidirectionally. In: van\u00a0der Storm, T., Balland, E., Varr\u00f3, D. (eds.) Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering, Amsterdam, The Netherlands, October 31 - November 1, 2016. pp. 2\u201314. ACM (2016). https:\/\/doi.org\/10.1145\/2997364","DOI":"10.1145\/2997364"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-032-22723-2_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,10]],"date-time":"2026-04-10T22:02:17Z","timestamp":1775858537000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-032-22723-2_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026]]},"ISBN":["9783032227225","9783032227232"],"references-count":58,"URL":"https:\/\/doi.org\/10.1007\/978-3-032-22723-2_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026]]},"assertion":[{"value":"10 April 2026","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"The authors have no competing interests to declare that are relevant to the content of this article.","order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Disclosure of Interests"}},{"value":"The accompanying artifact is available at\n                      \n                      . It contains a prototype implementation of partial-state lenses in Haskell for reproducing the behavior of the lenses discussed in Sects.\n                      \n                      and\n                      \n                      , and a mechanized formalization of definitions and statements in this paper. Their source code repositories are hosted at\n                      \n                      and\n                      \n                      .","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Data Availability"}},{"value":"ESOP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"European Symposium on Programming","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Turin","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Italy","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2026","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"11 April 2026","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"16 April 2026","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"35","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"esop2026","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/etaps.org\/about\/esop\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}