{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T21:03:12Z","timestamp":1742936592374,"version":"3.40.3"},"publisher-location":"Cham","reference-count":27,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319897189"},{"type":"electronic","value":"9783319897196"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"unspecified","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":[[2018]]},"DOI":"10.1007\/978-3-319-89719-6_1","type":"book-chapter","created":{"date-parts":[[2018,4,18]],"date-time":"2018-04-18T10:44:21Z","timestamp":1524048261000},"page":"1-18","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Memoized Flat Closures for CPS"],"prefix":"10.1007","author":[{"given":"Marco T.","family":"Moraz\u00e1n","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lindsey M.","family":"Reams","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nicholas R.","family":"Olson","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shamil","family":"Dzhatdoyev","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,4,19]]},"reference":[{"key":"1_CR1","volume-title":"Computer Organization and Design: The Hardware\/Software Interface","author":"DA Patterson","year":"2013","unstructured":"Patterson, D.A., Hennessy, J.L.: Computer Organization and Design: The Hardware\/Software Interface, 5th edn. Morgan Kaufmann Publishers Inc., San Francisco (2013)","edition":"5"},{"key":"1_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/BFb0017182","volume-title":"Memory Management","author":"PR Wilson","year":"1992","unstructured":"Wilson, P.R.: Uniprocessor garbage collection techniques. In: Bekkers, Y., Cohen, J. (eds.) IWMM 1992. LNCS, vol. 637, pp. 1\u201342. Springer, Heidelberg (1992). \n                    https:\/\/doi.org\/10.1007\/BFb0017182"},{"key":"1_CR3","doi-asserted-by":"crossref","unstructured":"Serrano, M., Boehm, H.J.: Understanding memory allocation of scheme programs. In: Odersky, M., Wadler, P. (eds.) Proceedings of the Fifth International Conference on Functional Programming, pp. 245\u2013256. ACM (2000)","DOI":"10.1145\/351240.351264"},{"issue":"7","key":"1_CR4","doi-asserted-by":"publisher","first-page":"733","DOI":"10.1002\/spe.4380230704","volume":"23","author":"B Zorn","year":"1993","unstructured":"Zorn, B.: The measured cost of conservative garbage collection. Softw. Pract. Exp. 23(7), 733\u2013756 (1993)","journal-title":"Softw. Pract. Exp."},{"key":"1_CR5","volume-title":"Functional Programming: Application and Implementation","author":"P Henderson","year":"1980","unstructured":"Henderson, P.: Functional Programming: Application and Implementation. Prentice-Hall International, Englewood (1980)"},{"issue":"4","key":"1_CR6","doi-asserted-by":"publisher","first-page":"308","DOI":"10.1093\/comjnl\/6.4.308","volume":"6","author":"PJ Landin","year":"1964","unstructured":"Landin, P.J.: The mechanical evaluation of expressions. Comput. J. 6(4), 308\u2013320 (1964)","journal-title":"Comput. J."},{"key":"1_CR7","doi-asserted-by":"crossref","unstructured":"Kent Dybvig, R.: The development of Chez Scheme. In: Proceedings of the Eleventh ACM SIGPLAN International Conference on Functional Programming, pp. 1\u201312, September 2006","DOI":"10.1145\/1159803.1159805"},{"key":"1_CR8","doi-asserted-by":"crossref","unstructured":"Cardelli, L.: Compiling a functional language. In: Proceedings of the 1984 ACM Conference on LISP and Functional Programming, pp. 208\u2013217 (1984)","DOI":"10.1145\/800055.802037"},{"key":"1_CR9","doi-asserted-by":"crossref","unstructured":"Shao, Z., Appel, A.W.: Space-efficient closure representations. Technical report CS-TR-454-94, Department of Computer Science, Princeton University, Princeton (1994)","DOI":"10.1145\/182409.156783"},{"key":"1_CR10","unstructured":"Shivers, O.: Control-flow analysis of higher-order languages of taming lambda. Ph.D. thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, May 1991"},{"key":"1_CR11","unstructured":"Steele Jr., G.L.: Rabbit: a compiler for scheme. Technical report, Massachusetts Institute of Technology, Cambridge (1978)"},{"key":"1_CR12","doi-asserted-by":"crossref","unstructured":"Adams, N., Kranz, D., Kelsey, R., Rees, J., Hudak, P., Philbin, J.: ORBIT: an optimizing compiler for scheme. In: Proceedings of the 1986 SIGPLAN Symposium on Compiler Construction, SIGPLAN 1986, pp. 219\u2013233. ACM, New York (1986)","DOI":"10.1145\/13310.13333"},{"key":"1_CR13","doi-asserted-by":"crossref","unstructured":"Kelsey, R., Hudak, P.: Realistic compilation by program transformation (detailed summary). In: Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1989, pp. 281\u2013292. ACM, New York (1989)","DOI":"10.1145\/75277.75302"},{"key":"1_CR14","volume-title":"Compiling with Continuations","author":"AW Appel","year":"2007","unstructured":"Appel, A.W.: Compiling with Continuations. Cambridge University Press, New York (2007)"},{"key":"1_CR15","doi-asserted-by":"crossref","unstructured":"Flanagan, C., Sabry, A., Duba, B.F., Felleisen, M.: The essence of compiling with continuations. In: Proceedings of the ACM SIGPLAN 1993 Conference on Programming Language Design and Implementation, PLDI 1993, pp. 237\u2013247. ACM, New York (1993)","DOI":"10.1145\/173262.155113"},{"issue":"4","key":"1_CR16","doi-asserted-by":"publisher","first-page":"502","DOI":"10.1145\/989393.989443","volume":"39","author":"C Flanagan","year":"2004","unstructured":"Flanagan, C., Sabry, A., Duba, B.F., Felleisen, M.: The essence of compiling with continuations. SIGPLAN Not. 39(4), 502\u2013514 (2004)","journal-title":"SIGPLAN Not."},{"key":"1_CR17","doi-asserted-by":"crossref","unstructured":"Kennedy, A.: Compiling with continuations, continued. In: Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming, ICFP 2007, pp. 177\u2013190. ACM, New York (2007)","DOI":"10.1145\/1291151.1291179"},{"key":"1_CR18","doi-asserted-by":"crossref","unstructured":"Fluet, M., Weeks, S.: Contification using dominators. In: Proceedings of the Sixth ACM SIGPLAN International Conference on Functional Programming, ICFP 2001, pp. 2\u201313. ACM, New York (2001)","DOI":"10.1145\/507669.507639"},{"key":"1_CR19","doi-asserted-by":"crossref","unstructured":"Acar, U.A., Blelloch, G.E., Harper, R.: Selective memoization. In: Proceedings of the 30th Annual ACM Symposium on Principles of Programming Languages, pp. 14\u201325. ACM Press (2003)","DOI":"10.1145\/640128.604133"},{"key":"1_CR20","doi-asserted-by":"crossref","unstructured":"Krishnamurthi, S.: Desugaring in practice: opportunities and challenges. In: Proceedings of the 2015 Workshop on Partial Evaluation and Program Manipulation, PEPM 2015, pp. 1\u20132. ACM, New York (2015)","DOI":"10.1145\/2678015.2678016"},{"key":"1_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"190","DOI":"10.1007\/3-540-15975-4_37","volume-title":"Functional Programming Languages and Computer Architecture","author":"T Johnsson","year":"1985","unstructured":"Johnsson, T.: Lambda lifting: transforming programs to recursive equations. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 190\u2013203. Springer, Heidelberg (1985). \n                    https:\/\/doi.org\/10.1007\/3-540-15975-4_37"},{"key":"1_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1007\/978-3-540-85373-2_3","volume-title":"Implementation and Application of Functional Languages","author":"MT Moraz\u00e1n","year":"2008","unstructured":"Moraz\u00e1n, M.T., Schultz, U.P.: Optimal lambda lifting in quadratic time. In: Chitil, O., Horv\u00e1th, Z., Zs\u00f3k, V. (eds.) IFL 2007. LNCS, vol. 5083, pp. 37\u201356. Springer, Heidelberg (2008). \n                    https:\/\/doi.org\/10.1007\/978-3-540-85373-2_3"},{"key":"1_CR23","volume-title":"Elementary Linear Algebra","author":"S Venit","year":"1985","unstructured":"Venit, S., Bishop, W.: Elementary Linear Algebra, 2nd edn. Prindle, Weber & Schmidt, Boston (1985)","edition":"2"},{"key":"1_CR24","volume-title":"Elements of the Theory of Computation","author":"HR Lewis","year":"1997","unstructured":"Lewis, H.R., Papadimitriou, C.H.: Elements of the Theory of Computation, 2nd edn. Prentice Hall PTR, Upper Saddle River (1997)","edition":"2"},{"key":"1_CR25","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-0333-9","volume-title":"The Graph Isomorphism Problem: Its Structural Complexity","author":"J K\u00f6bler","year":"1993","unstructured":"K\u00f6bler, J., Sch\u00f6ning, U., Tor\u00e1n, J.: The Graph Isomorphism Problem: Its Structural Complexity. Birkhauser Verlag, Basel (1993)"},{"key":"1_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"58","DOI":"10.1007\/978-3-642-45340-3_4","volume-title":"Trends in Functional Programming","author":"MT Moraz\u00e1n","year":"2014","unstructured":"Moraz\u00e1n, M.T.: Bytecode and memoized closure performance. In: McCarthy, J. (ed.) TFP 2013. LNCS, vol. 8322, pp. 58\u201375. Springer, Heidelberg (2014). \n                    https:\/\/doi.org\/10.1007\/978-3-642-45340-3_4"},{"issue":"2","key":"1_CR27","doi-asserted-by":"publisher","first-page":"70","DOI":"10.1063\/1.881195","volume":"42","author":"DL Goldstein","year":"1989","unstructured":"Goldstein, D.L.: Richard P. Feynman, teacher. Phys. Today 42(2), 70\u201375 (1989)","journal-title":"Phys. Today"}],"container-title":["Lecture Notes in Computer Science","Trends in Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-89719-6_1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,1,8]],"date-time":"2020-01-08T12:52:50Z","timestamp":1578487970000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-89719-6_1"}},"subtitle":["or Taming Memory Allocation for \n                \n                  \n                \n                $$\\lambda $$\n                \n                  \n                    \u03bb\n                  \n                \n               in CPS"],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319897189","9783319897196"],"references-count":27,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-89719-6_1","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]},"assertion":[{"value":"19 April 2018","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":"Canterbury","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":"2017","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19 June 2017","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"21 June 2017","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"tfp2017","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.cs.kent.ac.uk\/events\/tfp17\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}