{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,11]],"date-time":"2026-04-11T00:48:20Z","timestamp":1775868500324,"version":"3.50.1"},"publisher-location":"Cham","reference-count":35,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783319898834","type":"print"},{"value":"9783319898841","type":"electronic"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-319-89884-1_2","type":"book-chapter","created":{"date-parts":[[2018,4,13]],"date-time":"2018-04-13T21:02:32Z","timestamp":1523653352000},"page":"31-59","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":19,"title":["HOBiT: Programming Lenses Without Using Lens Combinators"],"prefix":"10.1007","author":[{"given":"Kazutaka","family":"Matsuda","sequence":"first","affiliation":[]},{"given":"Meng","family":"Wang","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2018,4,14]]},"reference":[{"issue":"4","key":"2_CR1","doi-asserted-by":"publisher","first-page":"557","DOI":"10.1145\/319628.319634","volume":"6","author":"F Bancilhon","year":"1981","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","journal-title":"ACM Trans. Database Syst."},{"key":"2_CR2","doi-asserted-by":"publisher","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.) ICFP, pp. 193\u2013204. ACM (2010). https:\/\/doi.org\/10.1145\/1863543.1863572","DOI":"10.1145\/1863543.1863572"},{"key":"2_CR3","doi-asserted-by":"publisher","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.) POPL, pp. 407\u2013419. ACM (2008). https:\/\/doi.org\/10.1145\/1328438.1328487","DOI":"10.1145\/1328438.1328487"},{"issue":"5\u20136","key":"2_CR4","doi-asserted-by":"publisher","first-page":"567","DOI":"10.1017\/S0956796808006898","volume":"18","author":"B Bringert","year":"2008","unstructured":"Bringert, B., Ranta, A.: A pattern for almost compositional functions. J. Funct. Program. 18(5\u20136), 567\u2013598 (2008). https:\/\/doi.org\/10.1017\/S0956796808006898","journal-title":"J. Funct. Program."},{"issue":"3","key":"2_CR5","doi-asserted-by":"publisher","first-page":"555","DOI":"10.1145\/382780.382785","volume":"48","author":"R Davies","year":"2001","unstructured":"Davies, R., Pfenning, F.: A modal analysis of staged computation. J. ACM 48(3), 555\u2013604 (2001). https:\/\/doi.org\/10.1145\/382780.382785","journal-title":"J. ACM"},{"key":"2_CR6","doi-asserted-by":"publisher","unstructured":"Fegaras, L.: Propagating updates through XML views using lineage tracing. In: Li, F., Moro, M.M., Ghandeharizadeh, S., Haritsa, J.R., Weikum, G., Carey, M.J., Casati, F., Chang, E.Y., Manolescu, I., Mehrotra, S., Dayal, U., Tsotras, V.J. (eds.) ICDE, pp. 309\u2013320. IEEE (2010). https:\/\/doi.org\/10.1109\/ICDE.2010.5447896","DOI":"10.1109\/ICDE.2010.5447896"},{"issue":"3","key":"2_CR7","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1145\/1232420.1232424","volume":"29","author":"J. Nathan Foster","year":"2007","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","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"2_CR8","doi-asserted-by":"publisher","unstructured":"Foster, J.N., Pilkiewicz, A., Pierce, B.C.: Quotient lenses. In: Hook, J., Thiemann, P. (eds.) ICFP, pp. 383\u2013396. ACM (2008). https:\/\/doi.org\/10.1145\/1411204.1411257","DOI":"10.1145\/1411204.1411257"},{"key":"2_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-642-32202-0_1","volume-title":"Generic and Indexed Programming","author":"N Foster","year":"2012","unstructured":"Foster, N., Matsuda, K., Voigtl\u00e4nder, J.: Three complementary approaches to bidirectional programming. In: Gibbons, J. (ed.) Generic and Indexed Programming. LNCS, vol. 7470, pp. 1\u201346. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-32202-0_1"},{"key":"2_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"246","DOI":"10.1007\/978-3-540-40018-9_17","volume-title":"Programming Languages and Systems","author":"R Gl\u00fcck","year":"2003","unstructured":"Gl\u00fcck, R., Kawabe, M.: A program inverter for a functional language with equality and constructors. In: Ohori, A. (ed.) APLAS 2003. LNCS, vol. 2895, pp. 246\u2013264. Springer, Heidelberg (2003). https:\/\/doi.org\/10.1007\/978-3-540-40018-9_17"},{"issue":"5","key":"2_CR11","doi-asserted-by":"publisher","first-page":"8","DOI":"10.1145\/1071221.1071222","volume":"40","author":"R Gl\u00fcck","year":"2005","unstructured":"Gl\u00fcck, R., Kawabe, M.: Revisiting an automatic program inverter for lisp. SIGPLAN Not. 40(5), 8\u201317 (2005). https:\/\/doi.org\/10.1145\/1071221.1071222","journal-title":"SIGPLAN Not."},{"key":"2_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"422","DOI":"10.1007\/3-540-53507-1_93","volume-title":"ICDT \u201990","author":"SJ Hegner","year":"1990","unstructured":"Hegner, S.J.: Foundations of canonical update support for closed database views. In: Abiteboul, S., Kanellakis, P.C. (eds.) ICDT 1990. LNCS, vol. 470, pp. 422\u2013436. Springer, Heidelberg (1990). https:\/\/doi.org\/10.1007\/3-540-53507-1_93"},{"key":"2_CR13","doi-asserted-by":"publisher","unstructured":"Hidaka, S., Hu, Z., Inaba, K., Kato, H., Matsuda, K., Nakano, K.: Bidirectionalizing graph transformations. In: Hudak, P., Weirich, S. (eds.) ICFP, pp. 205\u2013216. ACM (2010). https:\/\/doi.org\/10.1145\/1863543.1863573","DOI":"10.1145\/1863543.1863573"},{"issue":"1","key":"2_CR14","doi-asserted-by":"publisher","first-page":"371","DOI":"10.1145\/1925844.1926428","volume":"46","author":"Martin Hofmann","year":"2011","unstructured":"Hofmann, M., Pierce, B.C., Wagner, D.: Symmetric lenses. In: Ball, T., Sagiv, M. (eds.) POPL, pp. 371\u2013384. ACM (2011). https:\/\/doi.org\/10.1145\/1926385.1926428","journal-title":"ACM SIGPLAN Notices"},{"key":"2_CR15","doi-asserted-by":"publisher","unstructured":"Hofmann, M., Pierce, B.C., Wagner, D.: Edit lenses. In: Field, J., Hicks, M. (eds.) POPL, pp. 495\u2013508. ACM (2012). https:\/\/doi.org\/10.1145\/2103656.2103715","DOI":"10.1145\/2103656.2103715"},{"key":"2_CR16","unstructured":"Hu, Z., Ko, H.S.: Principles and practice of bidirectional programming in BiGUL. Oxford Summer School on Bidirectional Transformations (2017). https:\/\/bitbucket.org\/prl_tokyo\/bigul\/raw\/master\/SSBX16\/tutorial.pdf . Accessed 18 Oct 2017"},{"key":"2_CR17","doi-asserted-by":"publisher","unstructured":"Hu, Z., Mu, S.-C., Takeichi, M.: A programmable editor for developing structured documents based on bidirectional transformations. In: Heintze, N., Sestoft, P. (eds.) PEPM, pp. 178\u2013189. ACM (2004). https:\/\/doi.org\/10.1145\/1014007.1014025","DOI":"10.1145\/1014007.1014025"},{"key":"2_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"245","DOI":"10.1007\/BFb0037110","volume-title":"Typed Lambda Calculi and Applications","author":"A Jung","year":"1993","unstructured":"Jung, A., Tiuryn, J.: A new characterization of lambda definability. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664, pp. 245\u2013257. Springer, Heidelberg (1993). https:\/\/doi.org\/10.1007\/BFb0037110"},{"key":"2_CR19","doi-asserted-by":"publisher","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.) ICFP, pp. 47\u201358. ACM (2007). https:\/\/doi.org\/10.1145\/1291151.1291162","DOI":"10.1145\/1291151.1291162"},{"key":"2_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"448","DOI":"10.1007\/978-3-642-11957-6_24","volume-title":"Programming Languages and Systems","author":"K Matsuda","year":"2010","unstructured":"Matsuda, K., Mu, S.-C., Hu, Z., Takeichi, M.: A grammar-based approach to invertible programs. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 448\u2013467. Springer, Heidelberg (2010). https:\/\/doi.org\/10.1007\/978-3-642-11957-6_24"},{"key":"2_CR21","doi-asserted-by":"crossref","unstructured":"Matsuda, K., Wang, M.: Applicative bidirectional programming: mixing lenses and semantic bidirectionalization. J. Funct. Program. Accepted 14 Feb 2018","DOI":"10.1017\/S0956796818000096"},{"issue":"1","key":"2_CR22","doi-asserted-by":"publisher","first-page":"79","DOI":"10.1016\/j.scico.2014.07.008","volume":"111","author":"K Matsuda","year":"2014","unstructured":"Matsuda, K., Wang, M.: \u201cBidirectionalization for free\u201d for monomorphic transformations. Sci. Comput. Program. 111(1), 79\u2013109 (2014). https:\/\/doi.org\/10.1016\/j.scico.2014.07.008","journal-title":"Sci. Comput. Program."},{"key":"2_CR23","doi-asserted-by":"publisher","unstructured":"Matsuda, K., Wang, M.: Applicative bidirectional programming with lenses. In: Fisher, K., Reppy, J.H. (eds.) ICFP, pp. 62\u201374. ACM (2015). https:\/\/doi.org\/10.1145\/2784731.2784750","DOI":"10.1145\/2784731.2784750"},{"key":"2_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"211","DOI":"10.1007\/BFb0053552","volume-title":"Foundations of Software Science and Computation Structures","author":"E Moggi","year":"1998","unstructured":"Moggi, E.: Functor categories and two-level languages. In: Nivat, M. (ed.) FoSSaCS 1998. LNCS, vol. 1378, pp. 211\u2013225. Springer, Heidelberg (1998). https:\/\/doi.org\/10.1007\/BFb0053552"},{"key":"2_CR25","doi-asserted-by":"publisher","unstructured":"Morris, J.G.: The best of both worlds: linear functional programming without compromise. In: Garrigue, J., Keller, G., Sumii, E. (eds.) ICFP, pp. 448\u2013461. ACM (2016). https:\/\/doi.org\/10.1145\/2951913.2951925","DOI":"10.1145\/2951913.2951925"},{"issue":"6","key":"2_CR26","doi-asserted-by":"publisher","first-page":"361","DOI":"10.1145\/2666356.2594319","volume":"49","author":"Justin Pombrio","year":"2014","unstructured":"Pombrio, J., Krishnamurthi, S.: Resugaring: lifting evaluation sequences through syntactic sugar. In: O\u2019Boyle, M.F.P., Pingali, K. (eds.) PLDI, pp. 361\u2013371. ACM (2014). https:\/\/doi.org\/10.1145\/2594291.2594319","journal-title":"ACM SIGPLAN Notices"},{"key":"2_CR27","doi-asserted-by":"publisher","unstructured":"Rajkumar, R., Foster, N., Lindley, S., Cheney, J.: Lenses for web data. ECEASST 57 (2013). https:\/\/doi.org\/10.14279\/tuj.eceasst.57.879","DOI":"10.14279\/tuj.eceasst.57.879"},{"key":"2_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"408","DOI":"10.1007\/978-3-540-88643-3_10","volume-title":"Generative and Transformational Techniques in Software Engineering II","author":"P Stevens","year":"2008","unstructured":"Stevens, P.: A landscape of bidirectional model transformations. In: L\u00e4mmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol. 5235, pp. 408\u2013424. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-88643-3_10"},{"issue":"1","key":"2_CR29","doi-asserted-by":"publisher","first-page":"165","DOI":"10.1145\/1594834.1480904","volume":"44","author":"Janis Voigtl\u00e4nder","year":"2009","unstructured":"Voigtl\u00e4nder, J.: Bidirectionalization for free! (pearl). In: Shao, Z., Pierce, B.C. (eds.) POPL, pp. 165\u2013176. ACM (2009). https:\/\/doi.org\/10.1145\/1480881.1480904","journal-title":"ACM SIGPLAN Notices"},{"key":"2_CR30","doi-asserted-by":"publisher","unstructured":"Voigtl\u00e4nder, J., Hu, Z., Matsuda, K., Wang, M.: Combining syntactic and semantic bidirectionalization. In: Hudak, P., Weirich, S. (eds.) ICFP, pp. 181\u2013192. ACM (2010). https:\/\/doi.org\/10.1145\/1863543.1863571","DOI":"10.1145\/1863543.1863571"},{"issue":"5","key":"2_CR31","doi-asserted-by":"publisher","first-page":"515","DOI":"10.1017\/S0956796813000130","volume":"23","author":"J Voigtl\u00e4nder","year":"2013","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","journal-title":"J. Funct. Program."},{"issue":"11","key":"2_CR32","doi-asserted-by":"publisher","first-page":"2216","DOI":"10.1016\/j.scico.2012.07.014","volume":"78","author":"M Wang","year":"2013","unstructured":"Wang, M., Gibbons, J., Matsuda, K., Hu, Z.: Refactoring pattern matching. Sci. Comput. Program. 78(11), 2216\u20132242 (2013). https:\/\/doi.org\/10.1016\/j.scico.2012.07.014","journal-title":"Sci. Comput. Program."},{"key":"2_CR33","doi-asserted-by":"publisher","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.) ASE, pp. 164\u2013173. ACM (2007). https:\/\/doi.org\/10.1145\/1321631.1321657","DOI":"10.1145\/1321631.1321657"},{"key":"2_CR34","doi-asserted-by":"publisher","unstructured":"Yokoyama, T., Axelsen, H.B., Gl\u00fcck, R.: Principles of a reversible programming language. In: Ram\u00edrez, A., Bilardi, G., Gschwind, M. (eds.) CF, pp. 43\u201354. ACM (2008). https:\/\/doi.org\/10.1145\/1366230.1366239","DOI":"10.1145\/1366230.1366239"},{"key":"2_CR35","doi-asserted-by":"publisher","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.) ICSE, pp. 540\u2013550. IEEE (2012). https:\/\/doi.org\/10.1109\/ICSE.2012.6227162","DOI":"10.1109\/ICSE.2012.6227162"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-89884-1_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,10,15]],"date-time":"2019-10-15T16:32:00Z","timestamp":1571157120000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-89884-1_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319898834","9783319898841"],"references-count":35,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-89884-1_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018]]}}}