{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T08:13:02Z","timestamp":1742976782157,"version":"3.40.3"},"publisher-location":"Cham","reference-count":27,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319159393"},{"type":"electronic","value":"9783319159409"}],"license":[{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"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":[[2015]]},"DOI":"10.1007\/978-3-319-15940-9_10","type":"book-chapter","created":{"date-parts":[[2015,3,20]],"date-time":"2015-03-20T17:13:04Z","timestamp":1426871584000},"page":"407-427","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Zipper-Based Modular and Deforested Computations"],"prefix":"10.1007","author":[{"given":"Pedro","family":"Martins","sequence":"first","affiliation":[]},{"given":"Jo\u00e3o Paulo","family":"Fernandes","sequence":"additional","affiliation":[]},{"given":"Jo\u00e3o","family":"Saraiva","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2015,3,21]]},"reference":[{"key":"10_CR1","doi-asserted-by":"publisher","first-page":"239","DOI":"10.1007\/BF00264249","volume":"21","author":"R Bird","year":"1984","unstructured":"Bird, R.: Using circular programs to eliminate multiple traversals of data. Acta Informatica 21, 239\u2013250 (1984)","journal-title":"Acta Informatica"},{"issue":"3","key":"10_CR2","first-page":"329","volume":"24","author":"O de Moor","year":"2000","unstructured":"de Moor, O., Backhouse, K., Swierstra, S.D.: First-class attribute grammars. Informatica (Slovenia) 24(3), 329\u2013341 (2000)","journal-title":"Informatica (Slovenia)"},{"key":"10_CR3","doi-asserted-by":"crossref","unstructured":"Fernandes, J.P., Pardo, A., Saraiva, J.: A shortcut fusion rule for circular program calculation. In: Proceedings of the ACM SIGPLAN Haskell Workshop, pp. 95\u2013106 (2007)","DOI":"10.1145\/1291201.1291216"},{"key":"10_CR4","doi-asserted-by":"crossref","unstructured":"Viera, M., Swierstra, D., Swierstra, W.: Attribute grammars fly first-class: How to do aspect oriented programming in haskell. In: Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming (ICFP 2009), pp. 245\u2013256 (2009)","DOI":"10.1145\/1596550.1596586"},{"issue":"01","key":"10_CR5","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1017\/S0956796808006990","volume":"19","author":"D Swierstra","year":"2009","unstructured":"Swierstra, D., Chitil, O.: Linear, bounded, functional pretty-printing. J. Func. Programm. 19(01), 1\u201316 (2009)","journal-title":"J. Func. Programm."},{"issue":"5","key":"10_CR6","doi-asserted-by":"publisher","first-page":"549","DOI":"10.1017\/S0956796897002864","volume":"7","author":"G Huet","year":"1997","unstructured":"Huet, G.: The zipper. J. Func. Programm. 7(5), 549\u2013554 (1997)","journal-title":"J. Func. Programm."},{"key":"10_CR7","series-title":"Lecture notes in computer science","doi-asserted-by":"publisher","first-page":"135","DOI":"10.1007\/978-3-642-40922-6_10","volume-title":"Programming Languages","author":"P Martins","year":"2013","unstructured":"Martins, P., Fernandes, J.P., Saraiva, J.: Zipper-based attribute grammars and their extensions. In: Du Bois, A.R., Trinder, P. (eds.) SBLP 2013. LNCS, vol. 8129, pp. 135\u2013149. Springer, Heidelberg (2013)"},{"key":"10_CR8","doi-asserted-by":"crossref","unstructured":"Adams, M.D.: Scrap your zippers: A generic zipper for heterogeneous types. In: Proceedings of the 6th ACM SIGPLAN Workshop on Generic Programming, WGP 2010, pp. 13\u201324. ACM, New York (2010)","DOI":"10.1145\/1863495.1863499"},{"key":"10_CR9","doi-asserted-by":"crossref","unstructured":"L\u00e4mmel, R., Jones, S.P.: Scrap your boilerplate: A practical design pattern for generic programming. In: Proceedings of the 2003 ACM SIGPLAN International WorkShop on Types in Language Design and Implementation, (TLDI 2003), pp. 26\u201337. ACM (2003)","DOI":"10.1145\/604174.604179"},{"key":"10_CR10","unstructured":"Kiselyov, O.: Tool demonstration: A zipper based file\/operating system. In: Haskell Workshop. ACM Press, September 2005"},{"key":"10_CR11","doi-asserted-by":"crossref","unstructured":"Stewart, D., Janssen, S.: XMonad: A tiling window manager. In: Haskell 2007: Proceedings of the 2007 ACM SIGPLAN Workshop on Haskell. ACM Press (2007)","DOI":"10.1145\/1291201.1291218"},{"key":"10_CR12","doi-asserted-by":"crossref","unstructured":"Johnsson, T.: Attribute grammars as a functional programming paradigm. In: Functional Programming Languages and Computer Architecture, pp. 154\u2013173 (1987)","DOI":"10.1007\/3-540-18317-5_10"},{"key":"10_CR13","unstructured":"Kuiper, M., Swierstra, D.: Using attribute grammars to derive efficient functional programs. In: Computing Science in the Netherlands CSN 1987, November 1987"},{"key":"10_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"150","DOI":"10.1007\/10704973_4","volume-title":"Advanced Functional Programming","author":"SD Swierstra","year":"1999","unstructured":"Swierstra, S.D., Azero Alcocer, P.R., Saraiva, J.: Designing and implementing combinator languages. In: Swierstra, S.D., Oliveira, J.N. (eds.) AFP 1998. LNCS, vol. 1608, pp. 150\u2013206. Springer, Heidelberg (1999)"},{"key":"10_CR15","unstructured":"Swierstra, D., Baars, A., L\u00f6h, A.: The UU-AG attribute grammar system (2004)"},{"key":"10_CR16","doi-asserted-by":"crossref","unstructured":"Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: ECOOP, pp. 220\u2013242 (1997)","DOI":"10.1007\/BFb0053381"},{"key":"10_CR17","unstructured":"Saraiva, J.: Purely functional implementation of attribute grammars. Ph.D. Thesis, Department of Computer Science, Utrecht University, The Netherlands, December 1999"},{"key":"10_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"294","DOI":"10.1007\/BFb0026439","volume-title":"Compiler Construction","author":"U Kastens","year":"1998","unstructured":"Kastens, U., Pfahler, P., Jung, M.T.: The eli system. In: Koskimies, K. (ed.) CC 1998. LNCS, vol. 1383, pp. 294\u2013297. Springer, Heidelberg (1998)"},{"key":"10_CR19","unstructured":"Fernandes, J.P.: Design, implementation and calculation of circular programs. Ph.D. Thesis, Department of Informatics, University of Minho, Portugal, March 2009"},{"issue":"9","key":"10_CR20","doi-asserted-by":"publisher","first-page":"131","DOI":"10.1145\/357766.351253","volume":"35","author":"C Okasaki","year":"2000","unstructured":"Okasaki, C.: Breadth-first numbering: lessons from a small exercise in algorithm design. ACM SIGPLAN Notices 35(9), 131\u2013136 (2000)","journal-title":"ACM SIGPLAN Notices"},{"key":"10_CR21","unstructured":"Uustalu, T., Vene, V.: Comonadic functional attribute evaluation. In: Trends in Functional Programming, Intellect Books, vol. 10, pp. 145\u2013162 (2005)"},{"key":"10_CR22","unstructured":"Badouel, E., Fotsing, B., Tchougong, R.: Yet another implementation of attribute evaluation. Research Report RR-6315, INRIA (2007)"},{"issue":"5","key":"10_CR23","doi-asserted-by":"publisher","first-page":"39","DOI":"10.1016\/j.entcs.2011.02.015","volume":"229","author":"E Badouel","year":"2011","unstructured":"Badouel, E., Fotsing, B., Tchougong, R.: Attribute grammars as recursion schemes over cyclic representations of zippers. Electron. Notes Theory Comput. Sci. 229(5), 39\u201356 (2011)","journal-title":"Electron. Notes Theory Comput. Sci."},{"key":"10_CR24","doi-asserted-by":"crossref","unstructured":"Yakushev, A.R., Holdermans, S., L\u00f6h, A., Jeuring, J.: Generic programming with fixed points for mutually recursive datatypes. In: Proceedings of the 14th ACM SIGPLAN International Conference on Functional programming, pp. 233\u2013244 (2009)","DOI":"10.1145\/1596550.1596585"},{"key":"10_CR25","unstructured":"Martins, P.: Embedding attribute grammars and their extensions using functional zippers. Ph.D. Thesis, Universidade do Minho (2014)"},{"issue":"9","key":"10_CR26","doi-asserted-by":"publisher","first-page":"245","DOI":"10.1145\/1631687.1596586","volume":"44","author":"M Viera","year":"2009","unstructured":"Viera, M., Swierstra, S.D., Swierstra, W.: Attribute grammars fly first-class: how to do aspect oriented programming in haskell. SIGPLAN Not. 44(9), 245\u2013256 (2009)","journal-title":"SIGPLAN Not."},{"key":"10_CR27","doi-asserted-by":"crossref","unstructured":"Fernandes, J.P., Saraiva, J., Seidel, D., Voigtl\u00e4nder, J.: Strictification of circular programs. In: Proceedings of the 20th ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation. PEPM 2011, pp. 131\u2013140. ACM, New York (2011)","DOI":"10.1145\/1929501.1929526"}],"container-title":["Lecture Notes in Computer Science","Central European Functional Programming School"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-15940-9_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,2,20]],"date-time":"2023-02-20T22:45:27Z","timestamp":1676933127000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-15940-9_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015]]},"ISBN":["9783319159393","9783319159409"],"references-count":27,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-15940-9_10","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2015]]},"assertion":[{"value":"21 March 2015","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}