{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,27]],"date-time":"2025-03-27T21:20:08Z","timestamp":1743110408146,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":15,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783662468227"},{"type":"electronic","value":"9783662468234"}],"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-662-46823-4_21","type":"book-chapter","created":{"date-parts":[[2015,4,18]],"date-time":"2015-04-18T01:40:54Z","timestamp":1429321254000},"page":"257-265","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Polynomial-Time Optimal Pretty-Printing Combinators with Choice"],"prefix":"10.1007","author":[{"given":"Anton","family":"Podkopaev","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Dmitri","family":"Boulytchev","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2015,4,19]]},"reference":[{"issue":"4","key":"21_CR1","doi-asserted-by":"publisher","first-page":"491","DOI":"10.1145\/69558.75700","volume":"11","author":"AV Aho","year":"1989","unstructured":"Aho, A.V., Ganapathi, M., Tjiang, S.W.K.: Code generation using tree matching and dynamic programming. ACM Trans. Program. Lang. Syst. 11(4), 491\u2013516 (1989)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"21_CR2","unstructured":"Azero, P., Swierstra, S.D.: Optimal Pretty-Printing Combinators. http:\/\/www.cs.ruu.nl\/groups\/ST\/Software\/PP, (1998)"},{"key":"21_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/10704973_4","volume-title":"Advanced Functional Programming","author":"SD Swierstra","year":"1999","unstructured":"Swierstra, S.D., Alcocer, P.R.A., Saraiva, J.: Designing and implementing combinator languages. In: Swierstra, S.D., Oliveira, J.N., Henriques, P.R. (eds.) AFP 1998. LNCS, vol. 1608. Springer, Heidelberg (1999)"},{"key":"21_CR4","doi-asserted-by":"publisher","first-page":"163","DOI":"10.1145\/1053468.1053473","volume":"27","author":"O Chitil","year":"2005","unstructured":"Chitil, O.: Pretty printing with lazy dequeues. ACM Trans. Program. Lang. Syst. 27, 163\u2013184 (2005)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"21_CR5","unstructured":"Comon, H., Dauchet, M., Gilleron, R. et al.: Tree Automata Techniques and Applications. http:\/\/www.grappa.univ-lille3.fr\/tata, (2007)"},{"key":"21_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-59451-5_3","volume-title":"Advanced Functional Programming","author":"J Hughes","year":"1995","unstructured":"Hughes, J.: The design of a pretty-printing library. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925. Springer, Heidelberg (1995)"},{"issue":"1\u20132","key":"21_CR7","doi-asserted-by":"publisher","first-page":"40","DOI":"10.1016\/j.scico.2007.11.002","volume":"72","author":"S Jackson","year":"2008","unstructured":"Jackson, S., Devanbu, P., Ma, K.: Stable, flexible, peephole pretty-printing. J. Sci. Comput. Program. 72(1\u20132), 40\u201351 (2008)","journal-title":"J. Sci. Comput. Program."},{"key":"21_CR8","unstructured":"De Jonge, M.: A pretty-printer for every occasion. In: Proceedings of the 2nd International Symposium on Constructing Software Engineering Tools (2000)"},{"key":"21_CR9","unstructured":"De Jonge, M.: Pretty-printing for software reengineering. In: Proceedings of the International Conference On Software Maintenance (2002)"},{"key":"21_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"332","DOI":"10.1007\/978-3-642-35182-2_24","volume-title":"Programming Languages and Systems","author":"D Costanzo","year":"2012","unstructured":"Costanzo, D., Shao, Z.: A case for behavior-preserving actions in separation logic. In: Jhala, R., Igarashi, A. (eds.) APLAS 2012. LNCS, vol. 7705, pp. 332\u2013349. Springer, Heidelberg (2012)"},{"key":"21_CR11","doi-asserted-by":"publisher","first-page":"465","DOI":"10.1145\/357114.357115","volume":"2(4)","author":"DC Oppen","year":"1980","unstructured":"Oppen, D.C.: Pretty-printing. ACM Transact. Program. Lang. Syst. 2(4), 465\u2013483 (1980)","journal-title":"ACM Transact. Program. Lang. Syst."},{"key":"21_CR12","unstructured":"Swierstra, S.D.: Linear, Online, Functional Pretty Printing (corrected and extended version). Technical report, UU-CS-2004-025a. Institute of Information and Computing Sciences, Utrecht University (2004)"},{"key":"21_CR13","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1017\/S0956796808006990","volume":"19","author":"SD Swierstra","year":"2009","unstructured":"Swierstra, S.D., Chitil, O.: Linear, bounded, functional pretty-printing. J. Funct. Program. 19, 1\u201316 (2009)","journal-title":"J. Funct. Program."},{"issue":"1","key":"21_CR14","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/226155.226156","volume":"5","author":"M van den Brand","year":"1996","unstructured":"van den Brand, M., Visser, E.: Generation of formatters for context-free languages. ACM Trans. Softw. Eng. Methodol. 5(1), 1\u201341 (1996)","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"21_CR15","doi-asserted-by":"crossref","unstructured":"Wadler, P.: A Prettier Printer: The Fun of Programming. Palgrave MacMillan (2003)","DOI":"10.1007\/978-1-349-91518-7_11"}],"container-title":["Lecture Notes in Computer Science","Perspectives of System Informatics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-662-46823-4_21","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,1,24]],"date-time":"2023-01-24T11:23:04Z","timestamp":1674559384000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-662-46823-4_21"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015]]},"ISBN":["9783662468227","9783662468234"],"references-count":15,"URL":"https:\/\/doi.org\/10.1007\/978-3-662-46823-4_21","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":"19 April 2015","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}