{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,6]],"date-time":"2024-09-06T23:23:16Z","timestamp":1725664996139},"publisher-location":"Berlin, Heidelberg","reference-count":37,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540617563"},{"type":"electronic","value":"9783540706540"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[1996]]},"DOI":"10.1007\/3-540-61756-6_86","type":"book-chapter","created":{"date-parts":[[2012,2,26]],"date-time":"2012-02-26T22:20:50Z","timestamp":1330294850000},"page":"198-212","source":"Crossref","is-referenced-by-count":3,"title":["Implementing memoization for partial evaluation"],"prefix":"10.1007","author":[{"given":"Peter","family":"Thiemann","sequence":"first","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2005,6,7]]},"reference":[{"key":"14_CR1","series-title":"LNCS","volume-title":"Proc. International Static Analysis Symposium, SAS'96","author":"P. H. Andersen","year":"1996","unstructured":"Peter Holst Andersen and Carsten Kehler Holst. Termination analysis for offline partial evaluation of a higher order functional language. In Radhia Cousot, editor, Proc. International Static Analysis Symposium, SAS'96, Aachen, Germany, September 1996. Springer-Verlag. LNCS."},{"key":"14_CR2","unstructured":"Lars Birkedal and Morten Welinder. Partial evaluation of Standard ML. Rapport 93\/22, DIKU, University of Copenhagen, 1993."},{"key":"14_CR3","series-title":"volume 844 of Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"198","DOI":"10.1007\/3-540-58402-1_15","volume-title":"Programming Languages, Implementations, Logics, and Programs (PLILP '94)","author":"L. Birkedal","year":"1994","unstructured":"Lars Birkedal and Morten Welinder. Hand-writing program generator generators. In Manuel V. Hermenegildo and Jaan Penjam, editors, Programming Languages, Implementations, Logics, and Programs (PLILP '94), volume 844 of Lecture Notes in Computer Science, pages 198\u2013214, Madrid, Spain, September 1994. Springer-Verlag."},{"volume-title":"Partial Evaluation and Mixed Computation","year":"1988","key":"14_CR4","unstructured":"Dines Bj\u00f8rner, Andrei P. Ershov, and Neil D. Jones, editors. Partial Evaluation and Mixed Computation, Amsterdam, 1988. North-Holland."},{"key":"14_CR5","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1016\/0167-6423(91)90035-V","volume":"17","author":"A. Bondorf","year":"1991","unstructured":"Anders Bondorf. Automatic autoprojection of higher order recursive equations. Science of Programming, 17:3\u201334, 1991.","journal-title":"Science of Programming"},{"key":"14_CR6","unstructured":"Anders Bondorf. Similix 5.0 Manual. DIKU, University of Copenhagen, May 1993."},{"issue":"2","key":"14_CR7","doi-asserted-by":"crossref","first-page":"151","DOI":"10.1016\/0167-6423(91)90002-F","volume":"16","author":"A. Bondorf","year":"1991","unstructured":"Anders Bondorf and Olivier Danvy. Automatic autoprojection of recursive equations with global variables and abstract data types. Science of Programming, 16(2):151\u2013195, 1991.","journal-title":"Science of Programming"},{"key":"14_CR8","first-page":"1","volume-title":"Improving CPS-based partial evaluation: Writing cogen by hand","author":"A. Bondorf","year":"1994","unstructured":"Anders Bondorf and Dirk Dussart. Improving CPS-based partial evaluation: Writing cogen by hand. In Peter Sestoft and Harald S\u00f8ndergaard, editors, Proc. ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation PEPM '94, pages 1\u201310, Orlando, Fla., June 1994. ACM."},{"key":"14_CR9","first-page":"134","volume-title":"A tour of Schism","author":"C. Consel","year":"1993","unstructured":"Charles Consel. A tour of Schism. In David Schmidt, editor, Proc. ACM SIG-PLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation PEPM '93, pages 134\u2013154, Copenhagen, Denmark, June 1993. ACM Press."},{"key":"14_CR10","first-page":"493","volume-title":"Tutorial notes on partial evaluation","author":"C. Consel","year":"1993","unstructured":"Charles Consel and Olivier Danvy. Tutorial notes on partial evaluation. In Proc. 20th Annual ACM Symposium on Principles of Programming Languages, pages 493\u2013501, Charleston, South Carolina, January 1993. ACM Press."},{"issue":"5","key":"14_CR11","first-page":"45","volume":"2","author":"Y. Futamura","year":"1971","unstructured":"Yoshihiko Futamura. Partial evaluation of computation process \u2014 an approach to a compiler-compiler. Systems, Computers, Controls, 2(5):45\u201350, 1971.","journal-title":"Systems, Computers, Controls"},{"key":"14_CR12","series-title":"volume 982 of Lecture Notes in Computer Science","volume-title":"Programming Languages, Implementations, Logics, and Programs (PLILP '95)","author":"R. Gl\u00fcck","year":"1995","unstructured":"Robert Gl\u00fcck and Jesper J\u00f8rgensen. Efficient multi-level generating extensions for program specialization. In Doaitse Swierstra and Manuel Hermenegildo, editors, Programming Languages, Implementations, Logics, and Programs (PLILP '95), volume 982 of Lecture Notes in Computer Science, Utrecht, The Netherlands, September 1995. Springer-Verlag."},{"key":"14_CR13","doi-asserted-by":"crossref","unstructured":"Arne John Glenstrup and Neil D. Jones. Bta algorithms to ensure termination of offline partial evaluation. In PSI-96: Andrei Ershov Second International Memorial Conference, Perspectives of System Informatics, Novosibirsk, Russia, June 1996.","DOI":"10.1007\/3-540-62064-8_23"},{"key":"14_CR14","series-title":"LNCS 523","doi-asserted-by":"crossref","first-page":"448","DOI":"10.1007\/3540543961_22","volume-title":"Functional Programming Languages and Computer Architecture","author":"F. Henglein","year":"1991","unstructured":"Fritz Henglein. Efficient type inference for higher-order binding-time analysis. In Hughes [16]. pages 448\u2013472. LNCS 523."},{"key":"14_CR15","series-title":"LNCS 523","doi-asserted-by":"crossref","first-page":"473","DOI":"10.1007\/3540543961_23","volume-title":"Functional Programming Languages and Computer Architecture","author":"C. Kehler Holst","year":"1991","unstructured":"Carsten Kehler Holst. Finiteness analysis. In Hughes [16]. pages 473\u2013495. LNCS 523."},{"key":"14_CR16","series-title":"LNCS 523","volume-title":"Functional Programming Languages and Computer Architecture","year":"1991","unstructured":"John Hughes, editor. Functional Programming Languages and Computer Architecture, Cambridge, MA, 1991. Springer-Verlag. LNCS 523."},{"key":"14_CR17","volume-title":"IEEE standard for the Scheme programming language","author":"Institute of Electrical and Electronic Engineers, Inc.","year":"1991","unstructured":"Institute of Electrical and Electronic Engineers, Inc. IEEE standard for the Scheme programming language. IEEE Std 1178\u20131990, New York, NY, 1991."},{"key":"14_CR18","unstructured":"Neil D. Jones, Carsten K. Gomard, and Peter Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993."},{"key":"14_CR19","series-title":"LNCS 202","doi-asserted-by":"crossref","first-page":"124","DOI":"10.1007\/3-540-15976-2_6","volume-title":"Rewriting Techniques and Applications","author":"N. D. Jones","year":"1985","unstructured":"Neil D. Jones, Peter Sestoft, and Harald S\u00f8ndergaard. An experiment in partial evaluation: The generation of a compiler generator. In J.-P. Jouannaud, editor, Rewriting Techniques and Applications, pages 124\u2013140, Dijon, France, 1985. Springer-Verlag. LNCS 202."},{"issue":"4","key":"14_CR20","doi-asserted-by":"crossref","first-page":"315","DOI":"10.1007\/BF01018614","volume":"7","author":"R. A. Kelsey","year":"1994","unstructured":"Richard A. Kelsey and Jonathan Rees. A tractable Scheme implementation. Lisp and Symbolic Computation, 7(4):315\u2013335, 1994.","journal-title":"Lisp and Symbolic Computation"},{"key":"14_CR21","first-page":"210","volume-title":"Handwriting cogen to avoid problems with static typing","author":"J. Launchbury","year":"1991","unstructured":"John Launchbury and Carsten Kehler Holst. Handwriting cogen to avoid problems with static typing. In Draft Proceedings, Fourth Annual Glasgow Workshop on Functional Programming, pages 210\u2013218, Skye, Scotland, 1991. Glasgow University."},{"key":"14_CR22","first-page":"227","volume-title":"Continuation-based partial evaluation","author":"J. Lawall","year":"1994","unstructured":"Julia Lawall and Olivier Danvy. Continuation-based partial evaluation. In LFP 1994 [24], pages 227\u2013238."},{"key":"14_CR23","doi-asserted-by":"crossref","unstructured":"Julia Lawall and Olivier Danvy. Continuation-based partial evaluation. Extended version of [22] from ftp:\/\/ftp.daimi.aau.dk\/pub\/danvy\/Papers\/, January 1995.","DOI":"10.1145\/182409.182483"},{"key":"14_CR24","unstructured":"Proc. 1994 ACM Conference on Lisp and Functional Programming, Orlando, Florida, USA, June 1994. ACM Press."},{"key":"14_CR25","unstructured":"Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. MIT Press, 1990."},{"key":"14_CR26","first-page":"271","volume-title":"Typed closure conversion","author":"Y. Minamide","year":"1996","unstructured":"Yasuhiko Minamide, Greg Morrisett, and Robert Harper. Typed closure conversion. In Proc. 23rd Annual ACM Symposium on Principles of Programming Languages, pages 271\u2013283, St. Petersburg, Fla., January 1996. ACM Press."},{"key":"14_CR27","first-page":"325","volume-title":"Partial Evaluation and Mixed Computation","author":"T. \u00c6. Mogensen","year":"1988","unstructured":"Torben \u00c6. Mogensen. Partially static structures in a self-applicable partial evaluator. In Bj\u00f8rner et al."},{"key":"14_CR28","doi-asserted-by":"crossref","unstructured":"Torben \u00c6. Mogensen. Separating binding times in language specifications. In Proc. Functional Programming Languages and Computer Architecture 1989, pages 14\u201325, London, GB, 1989.","DOI":"10.1145\/99370.99372"},{"key":"14_CR29","doi-asserted-by":"crossref","unstructured":"Jonathan Rees. The Scheme of things: The June 1992 meeting. Lisp Pointers, V(4), October 1992.","DOI":"10.1145\/382126.382667"},{"key":"14_CR30","doi-asserted-by":"crossref","unstructured":"John C. Reynolds. Definitional interpreters for higher-order programming. In ACM Annual Conference, pages 717\u2013740, July 1972.","DOI":"10.1145\/800194.805852"},{"key":"14_CR31","series-title":"LNCS 217","first-page":"236","volume-title":"Programs as Data Objects","author":"P. Sestoft","year":"1985","unstructured":"Peter Sestoft. The structure of a self-applicable partial evaluator. In Harald Ganzinger and Neil D. Jones, editors, Programs as Data Objects, pages 236\u2013256, Copenhagen, Denmark, October 1985. Springer-Verlag. LNCS 217."},{"key":"14_CR32","first-page":"485","volume-title":"Partial Evaluation and Mixed Computation","author":"P. Sestoft","year":"1988","unstructured":"Peter Sestoft. Automatic call unfolding in a partial evaluator. In Bj\u00f8rner et al. [4], pages 485\u2013506."},{"key":"14_CR33","volume-title":"PhD thesis","author":"O. Shivers","year":"1991","unstructured":"Olin Shivers. Control-Flow Analysis of Higher-Order Languages. PhD thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213, May 1991. Also technical report CMU-CS-91-145."},{"key":"14_CR34","first-page":"472","volume-title":"Building interpreters by composing monads","author":"G. L. Steele Jr.","year":"1994","unstructured":"Guy L. Steele Jr. Building interpreters by composing monads. In Proc. 21st Annual A CM Symposium on Principles of Programming Languages, pages 472\u2013492, Portland, OG, January 1994. ACM Press."},{"key":"14_CR35","first-page":"318","volume-title":"An equational framework for the flow analysis of higher-order functional programs","author":"D. Stefanescu","year":"1994","unstructured":"Dan Stefanescu and Yuli Zhou. An equational framework for the flow analysis of higher-order functional programs. In LFP 1994 [24], pages 318\u2013327."},{"key":"14_CR36","first-page":"180","volume-title":"Cogen in six lines","author":"P. Thiemann","year":"1996","unstructured":"Peter Thiemann. Cogen in six lines. In R. Kent Dybvig, editor, Proc. International Conference on Functional Programming 1996, pages 180\u2013189, Philadelphia, PA, May 1996. ACM Press, New York."},{"key":"14_CR37","first-page":"645","volume-title":"volume 85 of Lecture Notes in Computer Science","author":"V. F. Turchin","year":"1980","unstructured":"Valentin F. Turchin. The use of metasystem transition in theorem proving and program optimization. In International Conference on Automata, Languages, and Programming. Seventh ICALP, volume 85 of Lecture Notes in Computer Science, pages 645\u2013657, Noordwijkerhout, The Netherlands, 1980. Springer-Verlag."}],"container-title":["Lecture Notes in Computer Science","Programming Languages: Implementations, Logics, and Programs"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/3-540-61756-6_86.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,17]],"date-time":"2020-11-17T21:10:22Z","timestamp":1605647422000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/3-540-61756-6_86"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1996]]},"ISBN":["9783540617563","9783540706540"],"references-count":37,"URL":"https:\/\/doi.org\/10.1007\/3-540-61756-6_86","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[1996]]}}}