{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,9]],"date-time":"2024-09-09T14:47:30Z","timestamp":1725893250231},"publisher-location":"Berlin, Heidelberg","reference-count":37,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642344060"},{"type":"electronic","value":"9783642344077"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2012]]},"DOI":"10.1007\/978-3-642-34407-7_4","type":"book-chapter","created":{"date-parts":[[2012,11,6]],"date-time":"2012-11-06T00:58:14Z","timestamp":1352163494000},"page":"51-68","source":"Crossref","is-referenced-by-count":3,"title":["Challenges for a Trace-Based Just-In-Time Compiler for Haskell"],"prefix":"10.1007","author":[{"given":"Thomas","family":"Schilling","sequence":"first","affiliation":[]}],"member":"297","reference":[{"key":"4_CR1","doi-asserted-by":"crossref","unstructured":"Bala, V., Duesterwald, E., Banerjia, S.: Transparent dynamic optimization: The design and implementation of dynamo. Tech. Rep. HPL-1999-78, HP Laboratories Cambridge (1999)","DOI":"10.1145\/349299.349303"},{"key":"4_CR2","doi-asserted-by":"crossref","unstructured":"Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: A Transparent Dynamic Optimization System. In: Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation, PLDI 2000, pp. 1\u201312. ACM (2000)","DOI":"10.1145\/358438.349303"},{"key":"4_CR3","doi-asserted-by":"publisher","first-page":"708","DOI":"10.1145\/1869459.1869517","volume-title":"Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2010","author":"M. Bebenita","year":"2010","unstructured":"Bebenita, M., Brandner, F., Fahndrich, M., Logozzo, F., Schulte, W., Tillmann, N., Venter, H.: SPUR: A Trace-based JIT Compiler for CIL. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2010, pp. 708\u2013725. ACM, New York (2010)"},{"key":"4_CR4","doi-asserted-by":"publisher","first-page":"59","DOI":"10.1145\/1852761.1852771","volume-title":"PPPJ 2010","author":"M. Bebenita","year":"2010","unstructured":"Bebenita, M., Chang, M., Wagner, G., Gal, A., Wimmer, C., Franz, M.: Trace-based compilation in execution environments without interpreters. In: PPPJ 2010, pp. 59\u201368. ACM, New York (2010)"},{"key":"4_CR5","doi-asserted-by":"crossref","unstructured":"Bolingbroke, M., Peyton Jones, S.: Supercompilation by Evaluation. In: Proceedings of the Third ACM Haskell Symposium on Haskell, Haskell 2010, pp. 135\u2013146. ACM (2010)","DOI":"10.1145\/1863523.1863540"},{"key":"4_CR6","doi-asserted-by":"crossref","unstructured":"Bolz, C.F., Cuni, A., Fija\u0142kowski, M., Leuschel, M., Pedroni, S., Rigo, A.: Allocation Removal by Partial Evaluation in a Tracing JIT. In: Proceedings of the 20th ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2011, pp. 43\u201352. ACM (2011)","DOI":"10.1145\/1929501.1929508"},{"key":"4_CR7","doi-asserted-by":"crossref","unstructured":"Bolz, C.F., Cuni, A., Fijalkowski, M., Rigo, A.: Tracing the Meta-Level: PyPy\u2019s Tracing JIT compiler. In: ICOOOLPS 2009: Proceedings of the 4th Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems, pp. 18\u201325 (2009)","DOI":"10.1145\/1565824.1565827"},{"key":"4_CR8","doi-asserted-by":"crossref","unstructured":"Boquist, U., Johnsson, T.: The GRIN Project: A Highly Optimising Back End for Lazy Functional Languages. In: Implementation of Functional Languages, pp. 58\u201384 (1996)","DOI":"10.1007\/3-540-63237-9_19"},{"key":"4_CR9","unstructured":"Bruening, D.L.: Effient, Transparent, and Comprehensive Runtime Code Manipulation. Ph.D. thesis, Massachusetts Institute of Technology (September 2004)"},{"key":"4_CR10","doi-asserted-by":"crossref","unstructured":"Coutts, D., Leshchinskiy, R., Stewart, D.: Stream fusion: From lists to streams to nothing at all. In: Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming, ICFP 2007, pp. 315\u2013326. ACM (2007)","DOI":"10.1145\/1291151.1291199"},{"issue":"4","key":"4_CR11","doi-asserted-by":"publisher","first-page":"451","DOI":"10.1145\/115372.115320","volume":"13","author":"R. Cytron","year":"1991","unstructured":"Cytron, R., Ferrante, J., Rosen, B.K., Wegman, M.N., Zadeck, F.K.: Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Program. Lang. Syst.\u00a013(4), 451\u2013490 (1991)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"4_CR12","doi-asserted-by":"crossref","unstructured":"Davis, B., Beatty, A., Casey, K., Gregg, D., Waldron, J.: The Case for Virtual Register Machines. In: Proceedings of the 2003 Workshop on Interpreters, Virtual Machines and Emulators, IVME 2003, pp. 41\u201349. ACM Press (2003)","DOI":"10.1145\/858570.858575"},{"key":"4_CR13","unstructured":"Gal, A., Franz, M.: Incremental Dynamic Code Generation with Trace Trees. Tech. Rep. ICS-TR-06-16, University of California, Irvine (2006)"},{"key":"4_CR14","doi-asserted-by":"crossref","unstructured":"Gal, A., Orendorff, J., Ruderman, J., Smith, E., Reitmaier, R., Bebenita, M., Chang, M., Franz, M., Eich, B., Shaver, M., Anderson, D., Mandelin, D., Haghighat, M.R., Kaplan, B., Hoare, G., Zbarsky, B.: Trace-based Just-in-time type Specialization for Dynamic Languages. In: PLDI 2009, pp. 465\u2013478. ACM (2009)","DOI":"10.1145\/1542476.1542528"},{"key":"4_CR15","unstructured":"Gill, A.: Cheap deforestation for non-strict functional languages. Ph.D. thesis, The University of Glasgow (January 1996)"},{"key":"4_CR16","doi-asserted-by":"crossref","unstructured":"Gill, A., Launchbury, J., Peyton Jones, S.: A short cut to deforestation. In: Proceedings of the Conference on Functional Programming Languages and Computer Architecture, FPCA 1993, pp. 223\u2013232. ACM (1993)","DOI":"10.1145\/165180.165214"},{"key":"4_CR17","doi-asserted-by":"crossref","unstructured":"Gustavsson, J.: A type based sharing analysis for update avoidance and optimisation. In: Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming, ICFP 1998, pp. 39\u201350. ACM (1998)","DOI":"10.1145\/291251.289427"},{"key":"4_CR18","doi-asserted-by":"crossref","unstructured":"Hage, J., Holdermans, S., Middelkoop, A.: A generic usage analysis with subeffect qualifiers. In: Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming, ICFP 2007, pp. 235\u2013246. ACM (2007)","DOI":"10.1145\/1291151.1291189"},{"key":"4_CR19","doi-asserted-by":"crossref","unstructured":"Hayashizaki, H., Wu, P., Inoue, H., Serrano, M.J., Nakatani, T.: Improving the Performance of Trace-based Systems by False Loop Filtering. In: ASPLOS 2011, pp. 405\u2013418. ACM (2011)","DOI":"10.1145\/1961295.1950412"},{"key":"4_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1007\/BFb0057013","volume-title":"ECOOP \u201991 European Conference on Object-Oriented Programming","author":"U. H\u00f6lzle","year":"1991","unstructured":"H\u00f6lzle, U., Chambers, C., Ungar, D.: Optimizing Dynamically-typed Object-oriented Languages with Polymorphic Inline Caches. In: America, P. (ed.) ECOOP 1991. LNCS, vol.\u00a0512, pp. 21\u201338. Springer, Heidelberg (1991)"},{"issue":"2","key":"4_CR21","doi-asserted-by":"publisher","first-page":"98","DOI":"10.1093\/comjnl\/32.2.98","volume":"32","author":"J. Hughes","year":"1989","unstructured":"Hughes, J.: Why Functional Programming Matters. The Computer Journal\u00a032(2), 98\u2013107 (1989)","journal-title":"The Computer Journal"},{"key":"4_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"209","DOI":"10.1007\/978-3-540-92995-6_15","volume-title":"Practical Aspects of Declarative Languages","author":"R. Leshchinskiy","year":"2008","unstructured":"Leshchinskiy, R.: Recycle Your Arrays! In: Gill, A., Swift, T. (eds.) PADL 2009. LNCS, vol.\u00a05418, pp. 209\u2013223. Springer, Heidelberg (2008)"},{"key":"4_CR23","doi-asserted-by":"crossref","unstructured":"Marlow, S., Peyton Jones, S.: Making a Fast Curry: Push\/Enter vs. Eval\/Apply for Higher-order Languages. In: Proceedings of the Ninth ACM SIGPLAN International Conference on Functional Programming, ICFP 2004, pp. 4\u201315. ACM (2004)","DOI":"10.1145\/1016848.1016856"},{"key":"4_CR24","doi-asserted-by":"crossref","unstructured":"Marlow, S., Peyton Jones, S., Singh, S.: Runtime Support for Multicore Haskell. In: Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming, ICFP 2009, pp. 65\u201378. ACM (2009)","DOI":"10.1145\/1596550.1596563"},{"key":"4_CR25","doi-asserted-by":"crossref","unstructured":"Marlow, S., Yakushev, A.R., Peyton Jones, S.: Faster laziness using dynamic pointer tagging. In: Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming, ICFP 2007, pp. 277\u2013288. ACM (2007)","DOI":"10.1145\/1291151.1291194"},{"key":"4_CR26","doi-asserted-by":"crossref","unstructured":"Mitchell, N.: Rethinking Supercompilation. In: Proceedings of the 15th ACM SIGPLAN International Conference on Functional Programming, ICFP 2010, pp. 309\u2013320. ACM (2010)","DOI":"10.1145\/1863543.1863588"},{"key":"4_CR27","unstructured":"Pall, M.: LuaJIT 2, http:\/\/luajit.org\/"},{"key":"4_CR28","unstructured":"Pall, M.: LuaJIT 2.0 intellectual property disclosure and research opportunities. Lua-l mailing list message (2009), http:\/\/lua-users.org\/lists\/lua-l\/2009-11\/msg00089.html"},{"key":"4_CR29","doi-asserted-by":"publisher","first-page":"127","DOI":"10.1017\/S0956796800000319","volume":"2","author":"S. Peyton Jones","year":"1992","unstructured":"Peyton Jones, S.: Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine. Journal of Functional Programming\u00a02, 127\u2013202 (1992)","journal-title":"Journal of Functional Programming"},{"issue":"5","key":"4_CR30","doi-asserted-by":"publisher","first-page":"393","DOI":"10.1017\/S0956796802004331","volume":"12","author":"S. Peyton Jones","year":"2002","unstructured":"Peyton Jones, S., Marlow, S.: Secrets of the glasgow haskell compiler inliner. Journal of Functional Programming\u00a012(5), 393\u2013434 (2002)","journal-title":"Journal of Functional Programming"},{"key":"4_CR31","unstructured":"Peyton Jones, S., Tolmach, A., Hoare, T.: Playing by the rules: rewriting as a practical optimisation technique in GHC. In: Haskell 2001, pp. 203\u2013233 (2001)"},{"key":"4_CR32","doi-asserted-by":"crossref","unstructured":"Rigo, A., Pedroni, S.: PyPy\u2019s Approach to Virtual Machine Construction. In: OOPSLA 2006: Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications (2006)","DOI":"10.1145\/1176617.1176753"},{"key":"4_CR33","doi-asserted-by":"crossref","unstructured":"Shi, Y., Gregg, D., Beatty, A., Ertl, M.A.: Virtual machine showdown: Stack versus registers. In: Proceedings of the 1st ACM\/USENIX International Conference on Virtual Execution Environments, VEE 2005, pp. 153\u2013163. ACM (2005)","DOI":"10.1145\/1064979.1065001"},{"key":"4_CR34","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"112","DOI":"10.1007\/BFb0055427","volume-title":"Implementation of Functional Languages","author":"T.\u00c6. Mogensen","year":"1998","unstructured":"Mogensen, T.\u00c6.: Types for 0, 1 or Many Uses. In: Clack, C., Hammond, K., Davie, T. (eds.) IFL 1997. LNCS, vol.\u00a01467, pp. 112\u2013122. Springer, Heidelberg (1998)"},{"key":"4_CR35","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. Theoretical Computer Science\u00a073, 231\u2013248 (1990)","journal-title":"Theoretical Computer Science"},{"key":"4_CR36","doi-asserted-by":"crossref","unstructured":"Wadler, P., Blott, S.: How to make ad-hoc polymorphism less ad hoc. In: Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1989, pp. 60\u201376. ACM (1989)","DOI":"10.1145\/75277.75283"},{"key":"4_CR37","unstructured":"Wansbrough, K., Peyton Jones, S.: Simple Usage Polymorphism. In: The Third ACM SIGPLAN Workshop on Types in Compilation (2000)"}],"container-title":["Lecture Notes in Computer Science","Implementation and Application of Functional Languages"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-34407-7_4.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,30]],"date-time":"2022-01-30T22:47:52Z","timestamp":1643582872000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-34407-7_4"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012]]},"ISBN":["9783642344060","9783642344077"],"references-count":37,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-34407-7_4","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2012]]}}}