{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,9]],"date-time":"2026-01-09T03:17:04Z","timestamp":1767928624535,"version":"3.49.0"},"publisher-location":"Cham","reference-count":19,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783031169113","type":"print"},{"value":"9783031169120","type":"electronic"}],"license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022]]},"DOI":"10.1007\/978-3-031-16912-0_1","type":"book-chapter","created":{"date-parts":[[2022,9,21]],"date-time":"2022-09-21T07:04:02Z","timestamp":1663743842000},"page":"1-33","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Breadth-First Traversal via\u00a0Staging"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8426-9917","authenticated-orcid":false,"given":"Jeremy","family":"Gibbons","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4952-7359","authenticated-orcid":false,"given":"Donnacha Ois\u00edn","family":"Kidney","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8771-5559","authenticated-orcid":false,"given":"Tom","family":"Schrijvers","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4161-985X","authenticated-orcid":false,"given":"Nicolas","family":"Wu","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2022,9,22]]},"reference":[{"key":"1_CR1","doi-asserted-by":"publisher","unstructured":"Bird, R., Gibbons, J., Mehner, S., Voigtl\u00e4nder, J., Schrijvers, T.: Understanding idiomatic traversals backwards and forwards. In: Haskell Symposium. ACM (2013). https:\/\/doi.org\/10.1145\/2503778.2503781","DOI":"10.1145\/2503778.2503781"},{"key":"1_CR2","doi-asserted-by":"publisher","first-page":"239","DOI":"10.1007\/BF00264249","volume":"21","author":"RS Bird","year":"1984","unstructured":"Bird, R.S.: Using circular programs to eliminate multiple traversals of data. Acta Informatica 21, 239\u2013250 (1984). https:\/\/doi.org\/10.1007\/BF00264249","journal-title":"Acta Informatica"},{"key":"1_CR3","doi-asserted-by":"publisher","unstructured":"Capriotti, P., Kaposi, A.: Free applicative functors. In: Levy, P.B., Krishnaswami, N. (eds.) Mathematically Structured Functional Programming. EPTCS, vol. 153, pp. 2\u201330 (2014). https:\/\/doi.org\/10.4204\/EPTCS.153.2","DOI":"10.4204\/EPTCS.153.2"},{"key":"1_CR4","doi-asserted-by":"publisher","unstructured":"Danvy, O., Thiemann, P., Zerny, I.: Circularity and lambda abstraction: from Bird to Pettorossi and back. In: Plasmeijer, R. (ed.) Implementation and Application of Functional Languages, p. 85. ACM (2013). https:\/\/doi.org\/10.1145\/2620678.2620687","DOI":"10.1145\/2620678.2620687"},{"key":"1_CR5","unstructured":"Easterly, N.: Functions and newtype wrappers for traversing Trees: rampion\/tree-traversals, January 2019. https:\/\/github.com\/rampion\/tree-traversals"},{"key":"1_CR6","unstructured":"Gibbons, J.: Breadth-first traversal, March 2015. https:\/\/patternsinfp.wordpress.com\/2015\/03\/05\/breadth-first-traversal\/"},{"key":"1_CR7","doi-asserted-by":"publisher","unstructured":"Gibbons, J., Jones, G.: The under-appreciated unfold. In: International Conference on Functional Programming, pp. 273\u2013279. Baltimore, Maryland, September 1998. https:\/\/doi.org\/10.1145\/289423.289455","DOI":"10.1145\/289423.289455"},{"key":"1_CR8","unstructured":"Gibbons, J., Kidney, D.O., Schrijvers, T., Wu, N.: Code for \u201cBreadth-First Traversal Via Staging\". http:\/\/www.cs.ox.ac.uk\/people\/jeremy.gibbons\/publications\/traversals.hs"},{"key":"1_CR9","doi-asserted-by":"publisher","unstructured":"Gibbons, J., dos Santos Oliveira, B.C.: The essence of the Iterator pattern. J. Funct. Programm. 19(3,4), 377\u2013402 (2009). https:\/\/doi.org\/10.1017\/S0956796809007291","DOI":"10.1017\/S0956796809007291"},{"key":"1_CR10","doi-asserted-by":"publisher","unstructured":"Jaskelioff, M., Rypacek, O.: An investigation of the laws of traversals. In: Chapman, J., Levy, P.B. (eds.) Mathematically Structured Functional Programming. EPTCS, vol. 76, pp. 40\u201349 (2012). https:\/\/doi.org\/10.4204\/EPTCS.76.5","DOI":"10.4204\/EPTCS.76.5"},{"key":"1_CR11","unstructured":"Jones, G., Gibbons, J.: Linear-time breadth-first tree algorithms: An exercise in the arithmetic of folds and zips. Computer Science Report No. 71, Dept of Computer Science, University of Auckland, May 1993. http:\/\/www.cs.ox.ac.uk\/publications\/publication2363-abstract.html, also IFIP Working Group 2.1 working paper 705 WIN-2"},{"key":"1_CR12","doi-asserted-by":"publisher","unstructured":"Kidney, D.O., Wu, N.: Algebras for weighted search. In: Proceedings of the ACM on Programming Languages 5(ICFP), pp. 1\u201330 (2021). https:\/\/doi.org\/10.1145\/3473577","DOI":"10.1145\/3473577"},{"key":"1_CR13","doi-asserted-by":"publisher","unstructured":"Okasaki, C.: Breadth-first numbering: lessons from a small exercise in algorithm design. In: Odersky, M., Wadler, P. (eds.) International Conference on Functional Programming, pp. 131\u2013136. ACM (2000). https:\/\/doi.org\/10.1145\/351240.351253","DOI":"10.1145\/351240.351253"},{"key":"1_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"300","DOI":"10.1007\/978-3-642-31113-0_15","volume-title":"Mathematics of Program Construction","author":"R Paterson","year":"2012","unstructured":"Paterson, R.: Constructing applicative functors. In: Gibbons, J., Nogueira, P. (eds.) MPC 2012. LNCS, vol. 7342, pp. 300\u2013323. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-31113-0_15"},{"key":"1_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"182","DOI":"10.1007\/BFb0014981","volume-title":"TAPSOFT \u201987","author":"A Pettorossi","year":"1987","unstructured":"Pettorossi, A., Skowron, A.: Higher order generalization in program derivation. In: Ehrig, H., Kowalski, R., Levi, G., Montanari, U. (eds.) TAPSOFT 1987. LNCS, vol. 250, pp. 182\u2013196. Springer, Heidelberg (1987). https:\/\/doi.org\/10.1007\/BFb0014981"},{"key":"1_CR16","doi-asserted-by":"publisher","unstructured":"Pettorossi, A., Skowron, A.: The lambda abstraction strategy for program derivation. Fundamenta Informaticae XII, pp. 541\u2013562 (1989). https:\/\/doi.org\/10.3233\/FI-1989-12407","DOI":"10.3233\/FI-1989-12407"},{"key":"1_CR17","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796817000132","volume":"27","author":"E Rivas","year":"2017","unstructured":"Rivas, E., Jaskelioff, M.: Notions of computation as monoids. J. Funct. Program. 27, e21 (2017). https:\/\/doi.org\/10.1017\/S0956796817000132","journal-title":"J. Funct. Program."},{"key":"1_CR18","doi-asserted-by":"publisher","first-page":"70","DOI":"10.1016\/j.scico.2017.09.007","volume":"152","author":"E Rivas","year":"2018","unstructured":"Rivas, E., Jaskelioff, M., Schrijvers, T.: A unified view of monadic and applicative non-determinism. Sci. Comput. Program. 152, 70\u201398 (2018). https:\/\/doi.org\/10.1016\/j.scico.2017.09.007","journal-title":"Sci. Comput. Program."},{"key":"1_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"30","DOI":"10.1007\/978-3-540-25935-0_3","volume-title":"Domain-Specific Program Generation","author":"W Taha","year":"2004","unstructured":"Taha, W.: A gentle introduction to multi-stage programming. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 30\u201350. Springer, Heidelberg (2004). https:\/\/doi.org\/10.1007\/978-3-540-25935-0_3"}],"container-title":["Lecture Notes in Computer Science","Mathematics of Program Construction"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-16912-0_1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,9,21]],"date-time":"2022-09-21T23:35:48Z","timestamp":1663803348000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-16912-0_1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"ISBN":["9783031169113","9783031169120"],"references-count":19,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-16912-0_1","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022]]},"assertion":[{"value":"22 September 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"MPC","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Mathematics of Program Construction","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Tblilisi","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Georgia","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2022","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26 September 2022","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"28 September 2022","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"14","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"mpc2022","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.macs.hw.ac.uk\/mpc22\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"easychair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"14","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"9","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"64% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"4","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3 invited talks (given as abstracts in preface)","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}