{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,28]],"date-time":"2025-11-28T20:23:53Z","timestamp":1764361433147,"version":"3.46.0"},"publisher-location":"Cham","reference-count":24,"publisher":"Springer Nature Switzerland","isbn-type":[{"type":"print","value":"9783031997501"},{"type":"electronic","value":"9783031997518"}],"license":[{"start":{"date-parts":[[2025,10,1]],"date-time":"2025-10-01T00:00:00Z","timestamp":1759276800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2025,10,1]],"date-time":"2025-10-01T00:00:00Z","timestamp":1759276800000},"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":[[2026]]},"DOI":"10.1007\/978-3-031-99751-8_4","type":"book-chapter","created":{"date-parts":[[2025,10,1]],"date-time":"2025-10-01T01:19:20Z","timestamp":1759281560000},"page":"70-92","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Heapless Functional Programming"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0009-0006-9369-8672","authenticated-orcid":false,"given":"Ellis","family":"Kesterton","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9734-367X","authenticated-orcid":false,"given":"Edwin","family":"Brady","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2025,10,1]]},"reference":[{"key":"4_CR1","doi-asserted-by":"crossref","unstructured":"Abel, A., Chapman, J.: Normalization by Evaluation in the Delay Monad: A Case Study for Coinduction via Copatterns and Sized Types. arXiv preprint arXiv:1406.2059 (2014)","DOI":"10.4204\/EPTCS.153.4"},{"key":"4_CR2","doi-asserted-by":"crossref","unstructured":"Berger, U., Eberl, M., Schwichtenberg, H.: Normalization by evaluation. Prospects for Hardware Foundations: ESPRIT Working Group 8533 NADA\u2014New Hardware Design Methods Survey Chapters, pp. 117\u2013137 (1998)","DOI":"10.1007\/3-540-49254-2_4"},{"issue":"5","key":"4_CR3","doi-asserted-by":"publisher","first-page":"53","DOI":"10.1016\/j.entcs.2007.01.018","volume":"174","author":"S Berghofer","year":"2007","unstructured":"Berghofer, S., Urban, C.: A head-to-head comparison of de Bruijn indices and names. Electron. Notes Theoret. Comput. Sci. 174(5), 53\u201367 (2007)","journal-title":"Electron. Notes Theoret. Comput. Sci."},{"key":"4_CR4","doi-asserted-by":"crossref","unstructured":"Bernardy, J.P., Boespflug, M., Newton, R.R., Peyton\u00a0Jones, S., Spiwack, A.: Linear Haskell: practical linearity in a higher-order polymorphic language. Proc. ACM Programm. Lang. 2(POPL), 1\u201329 (2017)","DOI":"10.1145\/3158093"},{"key":"4_CR5","doi-asserted-by":"crossref","unstructured":"Brandon, W., Driscoll, B., Dai, F., Berkow, W., Milano, M.: Better defunctionalization through lambda set specialization. Proc. ACM Programm. Lang. 7(PLDI), 977\u20131000 (2023)","DOI":"10.1145\/3591260"},{"key":"4_CR6","first-page":"287","volume":"9","author":"WN Chin","year":"1996","unstructured":"Chin, W.N., Darlington, J.: A higher-order removal method. LISP Symb. Comput. 9, 287\u2013322 (1996)","journal-title":"LISP Symb. Comput."},{"key":"4_CR7","doi-asserted-by":"crossref","unstructured":"Danvy, O., Schultz, U.P.: Lambda-lifting in quadratic time. In: International Symposium on Functional and Logic Programming, pp. 134\u2013151. Springer (2002)","DOI":"10.1007\/3-540-45788-7_8"},{"key":"4_CR8","doi-asserted-by":"crossref","unstructured":"Downen, P., Ariola, Z.M., Peyton\u00a0Jones, S., Eisenberg, R.A.: Kinds are calling conventions. Proc. ACM Programm. Lang. 4(ICFP), 1\u201329 (2020)","DOI":"10.1145\/3408986"},{"key":"4_CR9","doi-asserted-by":"crossref","unstructured":"Hannan, J., Hicks, P.: Higher-Order UnCurrying. In: Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 1\u201311 (1998)","DOI":"10.1145\/268946.268947"},{"key":"4_CR10","unstructured":"Jay, C.B.: Long Bn Normal Forms and Confluence. Tech. rep., Tech. Rep. LFCS-91-183 (and its revised version) (1991)"},{"issue":"3","key":"4_CR11","doi-asserted-by":"publisher","first-page":"480","DOI":"10.1145\/243439.243447","volume":"28","author":"ND Jones","year":"1996","unstructured":"Jones, N.D.: An introduction to partial evaluation. ACM Comput. Surv. (CSUR) 28(3), 480\u2013503 (1996)","journal-title":"ACM Comput. Surv. (CSUR)"},{"key":"4_CR12","unstructured":"Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Peter Sestoft (1993)"},{"key":"4_CR13","doi-asserted-by":"crossref","unstructured":"Karachalias, G., Koprivec, F., Pretnar, M., Schrijvers, T.: Efficient compilation of algebraic effect handlers. Proc. ACM Programm. Lang. 5(OOPSLA), 1\u201328 (2021)","DOI":"10.1145\/3485479"},{"key":"4_CR14","unstructured":"Klabnik, S., Nichols, C.: The Rust Programming Language. No Starch Press (2023)"},{"key":"4_CR15","unstructured":"Koopman, P., Plasmeijer, R., van Eekelen, M., Smetsers, S.: Functional Programming in Clean (2002)"},{"key":"4_CR16","unstructured":"Kov\u00e1cs, A.: Generalized Universe Hierarchies and First-Class Universe Levels. arXiv preprint arXiv:2103.00223 (2021)"},{"key":"4_CR17","doi-asserted-by":"crossref","unstructured":"Kov\u00e1cs, A.: Closure-free functional programming in a two-level type theory. Proc. ACM Programm. Lang. 8(ICFP), 659\u2013692 (2024)","DOI":"10.1145\/3674648"},{"key":"4_CR18","doi-asserted-by":"crossref","unstructured":"Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: International Symposium on Code Generation and Optimization, 2004. CGO 2004, pp. 75\u201386. IEEE (2004)","DOI":"10.1109\/CGO.2004.1281665"},{"issue":"OOPSLA1","key":"4_CR19","doi-asserted-by":"publisher","first-page":"1015","DOI":"10.1145\/3720472","volume":"9","author":"M Lutze","year":"2025","unstructured":"Lutze, M., Schuster, P., Brachth\u00e4user, J.I.: The Simple Essence of Monomorphization. Proc. ACM Programm. Lang. 9(OOPSLA1), 1015\u20131041 (2025)","journal-title":"Proc. ACM Programm. Lang."},{"issue":"3","key":"4_CR20","doi-asserted-by":"publisher","first-page":"348","DOI":"10.1016\/0022-0000(78)90014-4","volume":"17","author":"R Milner","year":"1978","unstructured":"Milner, R.: A theory of type polymorphism in programming. J. Comput. Syst. Sci. 17(3), 348\u2013375 (1978)","journal-title":"J. Comput. Syst. Sci."},{"key":"4_CR21","doi-asserted-by":"crossref","unstructured":"Minamide, Y., Morrisett, G., Harper, R.: Typed closure conversion. In: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 271\u2013283 (1996)","DOI":"10.1145\/237721.237791"},{"key":"4_CR22","doi-asserted-by":"crossref","unstructured":"Moraz\u00e1n, M.T., Schultz, U.P.: Optimal lambda lifting in quadratic time. In: Implementation and Application of Functional Languages: 19th International Workshop, IFL 2007, Freiburg, Germany, September 27-29, 2007. Revised Selected Papers 19, pp. 37\u201356. Springer (2008)","DOI":"10.1007\/978-3-540-85373-2_3"},{"key":"4_CR23","doi-asserted-by":"crossref","unstructured":"Taha, W.: A gentle introduction to multi-stage programming. In: Domain-Specific Program Generation: International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003. Revised Papers, pp. 30\u201350. Springer (2004)","DOI":"10.1007\/978-3-540-25935-0_3"},{"key":"4_CR24","doi-asserted-by":"crossref","unstructured":"Wadler, P.: Deforestation: transforming programs to eliminate trees. In: European Symposium on Programming, pp. 344\u2013358. Springer (1988)","DOI":"10.1007\/3-540-19027-9_23"}],"container-title":["Lecture Notes in Computer Science","Trends in Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-99751-8_4","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,11,28]],"date-time":"2025-11-28T20:22:12Z","timestamp":1764361332000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-99751-8_4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,10,1]]},"ISBN":["9783031997501","9783031997518"],"references-count":24,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-99751-8_4","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2025,10,1]]},"assertion":[{"value":"1 October 2025","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"TFP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Trends in Functional Programming","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Oxford","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"United Kingdom","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2025","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"14 January 2025","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"16 January 2025","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tfp2025","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/trendsfp.github.io\/index.html","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}