{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,9]],"date-time":"2024-09-09T00:41:06Z","timestamp":1725842466293},"publisher-location":"Cham","reference-count":29,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319265285"},{"type":"electronic","value":"9783319265292"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2015]]},"DOI":"10.1007\/978-3-319-26529-2_2","type":"book-chapter","created":{"date-parts":[[2015,12,9]],"date-time":"2015-12-09T07:23:39Z","timestamp":1449645819000},"page":"11-28","source":"Crossref","is-referenced-by-count":2,"title":["Memory-Efficient Tail Calls in the JVM with Imperative Functional Objects"],"prefix":"10.1007","author":[{"given":"Tom\u00e1\u0161","family":"Tauber","sequence":"first","affiliation":[]},{"given":"Xuan","family":"Bi","sequence":"additional","affiliation":[]},{"given":"Zhiyuan","family":"Shi","sequence":"additional","affiliation":[]},{"given":"Weixin","family":"Zhang","sequence":"additional","affiliation":[]},{"given":"Huang","family":"Li","sequence":"additional","affiliation":[]},{"given":"Zhenrui","family":"Zhang","sequence":"additional","affiliation":[]},{"given":"Bruno C. D. S.","family":"Oliveira","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2015,12,9]]},"reference":[{"issue":"1","key":"2_CR1","doi-asserted-by":"publisher","first-page":"7","DOI":"10.1023\/A:1010051815785","volume":"11","author":"H Abelson","year":"1998","unstructured":"Abelson, H., Dybvig, R., Haynes, C., Rozas, G., Adams, N.I.I., Friedman, D., Kohlbecker, E., Steele, G.L., Bartley, D., Halstead, R., Oxley, D., Sussman, G., Brooks, G., Hanson, C., Pitman, K., Wand, M.: Revised\n                      \n                        \n                      \n                      $$^{5}$$\n                      \n                        \n                          \n                            \n                            5\n                          \n                        \n                      \n                     report on the algorithmic language scheme. High.-Order Symbolic Comput. 11(1), 7\u2013105 (1998)","journal-title":"High.-Order Symbolic Comput."},{"key":"2_CR2","unstructured":"Armstrong, J.: Programming Erlang: Software for a Concurrent World, p. 536. Pragmatic Bookshelf, Raleigh (2007)"},{"issue":"9","key":"2_CR3","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1145\/214448.214454","volume":"30","author":"HG Baker","year":"1995","unstructured":"Baker, H.G.: CONS should not CONS its arguments, part II. ACM SIGPLAN Not. 30(9), 17\u201320 (1995)","journal-title":"ACM SIGPLAN Not."},{"key":"2_CR4","doi-asserted-by":"crossref","unstructured":"Benton, N., Kennedy, A., Russell, G.: Compiling Standard ML to Java Bytecodes. In: Proceedings of the 3rd ACM SIGPLAN International Conference on Functional Programming (1998)","DOI":"10.1145\/289423.289435"},{"key":"2_CR5","doi-asserted-by":"crossref","unstructured":"Bogdanas, D., Ro\u015fu, G.: K-Java: a complete semantics of Java. In: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 445\u2013456. POPL 2015, ACM, New York, NY, USA (2015)","DOI":"10.1145\/2775051.2676982"},{"key":"2_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"92","DOI":"10.1007\/3-540-44716-4_6","volume-title":"Functional and Logic Programming","author":"K Choi","year":"2001","unstructured":"Choi, K., Lim, H., Han, T.: Compiling lazy functional programs based on the spineless tagless G-machine for the java virtual machine. In: Kuchen, H., Ueda, K. (eds.) FLOPS 2001. LNCS, vol. 2024, pp. 92\u2013107. Springer, Heidelberg (2001)"},{"issue":"6","key":"2_CR7","doi-asserted-by":"publisher","first-page":"1029","DOI":"10.1145\/1034774.1034778","volume":"26","author":"J Clements","year":"2004","unstructured":"Clements, J., Felleisen, M.: A tail-recursive machine with stack inspection. ACM Transactions on Programming Languages and Systems 26(6), 1029\u20131052 (2004)","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"2_CR8","unstructured":"Friberg, S., Shipilev, A., Astrand, A., Kuksenko, S., Loef, H.: OpenJDK: JMH (2014). \n                      openjdk.java.net\/projects\/code-tools\/jmh\/"},{"key":"2_CR9","unstructured":"Girard, J.Y.: Interpr\u00e9tation fonctionnelle et \u00e9limination des coupures de l\u2019arithm\u00e9tique d\u2019ordre sup\u00e9rieur. Ph.D. thesis, Universit\u00e9 Paris VII (1972)"},{"key":"2_CR10","doi-asserted-by":"crossref","unstructured":"Hickey, R.: The Clojure programming language. In: Proceedings of the 2008 Symposium on Dynamic Languages (2008)","DOI":"10.1145\/1408681.1408682"},{"key":"2_CR11","unstructured":"Hickey, R.: Recur construct, Clojure documentation (2014). \n                      clojuredocs.org\/clojure.core\/recur"},{"issue":"7","key":"2_CR12","doi-asserted-by":"publisher","first-page":"707","DOI":"10.1002\/cpe.801","volume":"16","author":"A Kennedy","year":"2004","unstructured":"Kennedy, A., Syme, D.: Transposing F to C#: expressivity of parametric polymorphism in an object-oriented language. Concurrency Comput. Pract. Experience 16(7), 707\u2013733 (2004)","journal-title":"Concurrency Comput. Pract. Experience"},{"issue":"3","key":"2_CR13","doi-asserted-by":"publisher","first-page":"253","DOI":"10.1017\/S0956796805005733","volume":"16","author":"S Krishnamurthi","year":"2006","unstructured":"Krishnamurthi, S.: Educational pearl: automata via macros. J. Funct. Program. 16(3), 253\u2013267 (2006)","journal-title":"J. Funct. Program."},{"key":"2_CR14","unstructured":"League, C., Trifonov, V., Shao, Z.: Functional java bytecode. Proceedings 5th World Conference on Systemics, Cybernetics, and Informatics (2001)"},{"key":"2_CR15","doi-asserted-by":"crossref","unstructured":"Minamide, Y.: Selective tail call elimination. In: Proceedings of the 10th International Conference on Static Analysis (2003)","DOI":"10.1007\/3-540-44898-5_9"},{"key":"2_CR16","unstructured":"Odersky, M.: The scala language specification, Version 2.9. \u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne (2014)"},{"key":"2_CR17","unstructured":"O\u2019Hair, K.: HPROF: a Heap\/CPU profiling tool in J2SE 5.0. Sun Developer Network, Developer Technical Articles & Tips (2004)"},{"key":"2_CR18","doi-asserted-by":"crossref","unstructured":"Reynolds, J.C.: Towards a theory of type structure. In: Symposium on Programming (1974)","DOI":"10.1007\/3-540-06859-7_148"},{"issue":"1","key":"2_CR19","doi-asserted-by":"publisher","first-page":"158","DOI":"10.1016\/S1571-0661(05)80459-1","volume":"59","author":"M Schinz","year":"2001","unstructured":"Schinz, M., Odersky, M.: Tail call elimination on the Java Virtual Machine. Electron. Notes Theor. Comput. Sci. 59(1), 158\u2013171 (2001)","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"2_CR20","unstructured":"Schwaighofer, A.: Tail Call Optimization in the Java HotSpot\u2122VM, master Thesis, Johannes Kepler Universit\u00e4t Linz (2009)"},{"issue":"3","key":"2_CR21","doi-asserted-by":"publisher","first-page":"150","DOI":"10.1145\/182590.156783","volume":"7","author":"Z Shao","year":"1994","unstructured":"Shao, Z., Appel, A.W.: Space-efficient closure representations. ACM SIGPLAN Lisp Pointers 7(3), 150\u2013161 (1994)","journal-title":"ACM SIGPLAN Lisp Pointers"},{"key":"2_CR22","doi-asserted-by":"crossref","unstructured":"Steele, G.L.: Debunking the \u201cExpensive Procedure Call\u201d myth or, procedure call implementations considered harmful or, LAMDBA: the ultimate GOTO. In: Proceedings of the 1977 Annual Conference (1977)","DOI":"10.1145\/800179.810196"},{"key":"2_CR23","unstructured":"Steele, G.L.: Rabbit: a compiler for scheme. Technical report, Massachusetts Institute of Technology (1978)"},{"key":"2_CR24","unstructured":"Tismer, C.: Continuations and stackless Python. In: Proceedings of the 8th International Python Conference, vol. 1 (2000)"},{"key":"2_CR25","unstructured":"Tullsen, M.: Compiling Haskell to Java. Technical Report YALEU\/DCS\/RR-1204, Yale University (1996)"},{"key":"2_CR26","unstructured":"Wadsworth, C.: Semantics and Pragmatics of the Lambda-Calculus. Ph.D. thesis, University of Oxford (1971)"},{"issue":"6","key":"2_CR27","doi-asserted-by":"publisher","first-page":"579","DOI":"10.1017\/S0956796899003603","volume":"9","author":"D Wakeling","year":"1999","unstructured":"Wakeling, D.: Compiling lazy functional programs for the Java Virtual Machine. J. Funct. Program. 9(6), 579\u2013603 (1999)","journal-title":"J. Funct. Program."},{"key":"2_CR28","unstructured":"Wechsung, I.: Frege (2014). \n                      github.com\/Frege\/frege"},{"key":"2_CR29","doi-asserted-by":"crossref","unstructured":"W\u00fcrthinger, T., Wimmer, C., W\u00f6\u00df, A., Stadler, L., Duboscq, G., Humer, C., Richards, G., Simon, D., Wolczko, M.: One VM to rule them all. In: Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (2013)","DOI":"10.1145\/2509578.2509581"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-26529-2_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,31]],"date-time":"2019-05-31T17:00:45Z","timestamp":1559322045000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-26529-2_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015]]},"ISBN":["9783319265285","9783319265292"],"references-count":29,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-26529-2_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2015]]}}}