{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,11]],"date-time":"2024-09-11T07:58:07Z","timestamp":1726041487408},"publisher-location":"Cham","reference-count":28,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030283452"},{"type":"electronic","value":"9783030283469"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-28346-9_1","type":"book-chapter","created":{"date-parts":[[2019,8,13]],"date-time":"2019-08-13T04:28:34Z","timestamp":1565670514000},"page":"1-41","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Watch Out for that Tree! A Tutorial on Shortcut Deforestation"],"prefix":"10.1007","author":[{"given":"Jo\u00e3o Paulo","family":"Fernandes","sequence":"first","affiliation":[]},{"given":"J\u00e1come","family":"Cunha","sequence":"additional","affiliation":[]},{"given":"Jo\u00e3o","family":"Saraiva","sequence":"additional","affiliation":[]},{"given":"Alberto","family":"Pardo","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,8,14]]},"reference":[{"key":"1_CR1","doi-asserted-by":"crossref","unstructured":"Abramsky, S., Jung, A.: Domain Theory. In: Handbook of Logic in Computer Science, pp. 1\u2013168. Clarendon Press (1994)","DOI":"10.1093\/oso\/9780198537625.003.0001"},{"key":"1_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/10704973_1","volume-title":"Advanced Functional Programming","author":"L Augusteijn","year":"1999","unstructured":"Augusteijn, L.: Sorting morphisms. In: Swierstra, S.D., Oliveira, J.N., Henriques, P.R. (eds.) AFP 1998. LNCS, vol. 1608, pp. 1\u201327. Springer, Heidelberg (1999). https:\/\/doi.org\/10.1007\/10704973_1"},{"key":"1_CR3","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"},{"key":"1_CR4","volume-title":"Introduction to Functional Programming using Haskell","author":"R Bird","year":"1998","unstructured":"Bird, R.: Introduction to Functional Programming using Haskell, 2nd edn. Prentice-Hall, UK (1998)","edition":"2"},{"key":"1_CR5","series-title":"Prentice-Hall Inernational Series in Computer Science","volume-title":"Algebra of Programming","author":"R Bird","year":"1997","unstructured":"Bird, R., de Moor, O.: Algebra of Programming. Prentice-Hall Inernational Series in Computer Science, vol. 100. Prentice-Hall, Upper Saddle River (1997)"},{"key":"1_CR6","unstructured":"Cockett, R., Fukushima, T.: About Charity. Technical Report 92\/480\/18, University of Calgary, June 1992"},{"key":"1_CR7","unstructured":"Cockett, R., Spencer, D.: Strong Categorical Datatypes I. In: Seely, R.A.C., (ed.) International Meeting on Category Theory 1991. Canadian Mathematical Society Conference Proceedings, vol. 13, pp. 141\u2013169 (1991)"},{"key":"1_CR8","doi-asserted-by":"crossref","unstructured":"Danielsson, N.A., Hughes, J., Jansson, P., Gibbons, J.: Fast and loose reasoning is morally correct. In: Conference Record of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006, pp. 206\u2013217. ACM, New York (2006)","DOI":"10.1145\/1111320.1111056"},{"key":"1_CR9","unstructured":"Fernandes, J.P.: Design, Implementation and Calculation of Circular Programs. PhD thesis, Deparment of Informatics, University of Minho, Portugal (2009)"},{"key":"1_CR10","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, Haskell 2007, pp. 95\u2013106. ACM Press, New York (2007)","DOI":"10.1145\/1291201.1291216"},{"key":"1_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"151","DOI":"10.1007\/3-540-47797-7_5","volume-title":"Algebraic and Coalgebraic Methods in the Mathematics of Program Construction","author":"J Gibbons","year":"2002","unstructured":"Gibbons, J.: Calculating functional programs. In: Backhouse, R., Crole, R., Gibbons, J. (eds.) Algebraic and Coalgebraic Methods in the Mathematics of Program Construction. LNCS, vol. 2297, pp. 151\u2013203. Springer, Heidelberg (2002). https:\/\/doi.org\/10.1007\/3-540-47797-7_5"},{"key":"1_CR12","unstructured":"Gill, A.: Cheap deforestation for non-strict functional languages. PhD thesis, Department of Computing Science, University of Glasgow, UK (1996)"},{"key":"1_CR13","doi-asserted-by":"crossref","unstructured":"Gill, A., Launchbury, J., Jones, S.L.P.: A short cut to deforestation. In: Conference on Functional Programming Languages and Computer Architecture, pp. 223\u2013232, June 1993","DOI":"10.1145\/165180.165214"},{"key":"1_CR14","doi-asserted-by":"publisher","first-page":"98","DOI":"10.1093\/comjnl\/32.2.98","volume":"32","author":"J Hughes","year":"1984","unstructured":"Hughes, J.: Why functional programming matters. Comput. J. 32, 98\u2013107 (1984)","journal-title":"Comput. J."},{"key":"1_CR15","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.: The eli system. In: Koskimies, K. (ed.) CC 1998. LNCS, vol. 1383, pp. 294\u2013297. Springer, Heidelberg (1998). https:\/\/doi.org\/10.1007\/BFb0026439"},{"key":"1_CR16","unstructured":"Pardo, A.: A calculational approach to recursive programs with effects. PhD thesis, Technische Universit\u00e4t Darmstadt, October 2001"},{"key":"1_CR17","unstructured":"Pardo, A.: Generic Accumulations. In: IFIP WG2.1 Working Conference on Generic Programming, Dagstuhl, Germany, July 2002"},{"key":"1_CR18","doi-asserted-by":"crossref","unstructured":"Pardo, A., Fernandes, J.P., Saraiva, J.: Shortcut fusion rules for the derivation of circular and higher-order monadic programs. In: Proceedings of the 2009 ACM SIGPLAN Symposium on Partial Evaluation and Program Manipulation, PEPM 2009, pp. 81\u201390. ACM Press (2009)","DOI":"10.1145\/1480945.1480958"},{"issue":"1\u20132","key":"1_CR19","doi-asserted-by":"publisher","first-page":"115","DOI":"10.1007\/s10990-011-9076-x","volume":"24","author":"A Pardo","year":"2011","unstructured":"Pardo, A., Fernandes, J.P., Saraiva, J.: Shortcut fusion rules for the derivation of circular and higher-order programs. Higher-Order Symb. Comput. 24(1\u20132), 115\u2013149 (2011). ISSN 1388\u20133690","journal-title":"Higher-Order Symb. Comput."},{"key":"1_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"120","DOI":"10.1007\/978-3-642-40922-6_9","volume-title":"Programming Languages","author":"A Pardo","year":"2013","unstructured":"Pardo, A., Fernandes, J.P., Saraiva, J.: Multiple intermediate structure deforestation by shortcut fusion. In: Du Bois, A.R., Trinder, P. (eds.) SBLP 2013. LNCS, vol. 8129, pp. 120\u2013134. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-40922-6_9"},{"key":"1_CR21","doi-asserted-by":"crossref","unstructured":"Pettorossi, A., Skowron, A.: The lambda abstraction strategy for program derivation. In: Fundamenta Informaticae XII, pp. 541\u2013561 (1987)","DOI":"10.3233\/FI-1989-12407"},{"key":"1_CR22","unstructured":"Jones, S.P. (ed.) Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press (2003). Also in Journal of Functional Programming, 13(1)"},{"key":"1_CR23","unstructured":"Jones, S.P., Hughes, J., Augustsson, L., et al.: Report on the programming language Haskell 98. Technical report, February 1999"},{"key":"1_CR24","doi-asserted-by":"crossref","unstructured":"Takano, A., Meijer, E.: Shortcut deforestation in calculational form. In: Proceedings of Conference on Functional Programming Languages and Computer Architecture, pp. 306\u2013313. ACM Press (1995)","DOI":"10.1145\/224164.224221"},{"key":"1_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"163","DOI":"10.1007\/978-3-540-78969-7_13","volume-title":"Functional and Logic Programming","author":"J Voigtl\u00e4nder","year":"2008","unstructured":"Voigtl\u00e4nder, J.: Semantics and pragmatics of new shortcut fusion rules. In: Garrigue, J., Hermenegildo, M.V. (eds.) FLOPS 2008. LNCS, vol. 4989, pp. 163\u2013179. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-78969-7_13"},{"key":"1_CR26","doi-asserted-by":"crossref","unstructured":"Wadler, P.: Theorems for free! In: 4th International Conference on Functional Programming and Computer Architecture, London (1989)","DOI":"10.1145\/99370.99404"},{"key":"1_CR27","doi-asserted-by":"publisher","first-page":"231","DOI":"10.1016\/0304-3975(90)90147-A","volume":"73","author":"P Wadler","year":"1990","unstructured":"Wadler, P.: Deforestation: transforming programs to eliminate trees. Theoret. Comput. Sci. 73, 231\u2013248 (1990)","journal-title":"Theoret. Comput. Sci."},{"key":"1_CR28","volume-title":"Generating Software from Specifications","author":"W Waite","year":"2007","unstructured":"Waite, W., Kastens, U., Sloane, A.M.: Generating Software from Specifications. Jones and Bartlett Publishers Inc, USA (2007)"}],"container-title":["Lecture Notes in Computer Science","Central European Functional Programming School"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-28346-9_1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,7,21]],"date-time":"2024-07-21T23:02:15Z","timestamp":1721602935000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-28346-9_1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030283452","9783030283469"],"references-count":28,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-28346-9_1","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"14 August 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"CEFP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Central European Functional Programming School","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Budapest","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Hungary","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2015","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6 July 2015","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"10 July 2015","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"cefp2015","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/people.inf.elte.hu\/cefp\/cefp2015\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}