{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,12,4]],"date-time":"2024-12-04T14:10:01Z","timestamp":1733321401821,"version":"3.30.1"},"reference-count":50,"publisher":"Elsevier BV","issue":"1-2","license":[{"start":{"date-parts":[[2000,10,1]],"date-time":"2000-10-01T00:00:00Z","timestamp":970358400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2013,7,17]],"date-time":"2013-07-17T00:00:00Z","timestamp":1374019200000},"content-version":"vor","delay-in-days":4672,"URL":"https:\/\/www.elsevier.com\/open-access\/userlicense\/1.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Theoretical Computer Science"],"published-print":{"date-parts":[[2000,10]]},"DOI":"10.1016\/s0304-3975(00)00053-0","type":"journal-article","created":{"date-parts":[[2002,7,25]],"date-time":"2002-07-25T16:25:45Z","timestamp":1027614345000},"page":"211-242","source":"Crossref","is-referenced-by-count":223,"title":["MetaML and multi-stage programming with explicit annotations"],"prefix":"10.1016","volume":"248","author":[{"given":"Walid","family":"Taha","sequence":"first","affiliation":[]},{"given":"Tim","family":"Sheard","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/S0304-3975(00)00053-0_BIB1","doi-asserted-by":"crossref","unstructured":"C. Consel, O. Danvy, Tutorial notes on partial evaluation, ACM Symp. on Principles of Programming Languages, January 1993, pp. 493\u2013501.","DOI":"10.1145\/158511.158707"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB2","doi-asserted-by":"crossref","unstructured":"C. Consel, F. No\u00ebl, A general approach for run-time specialization and its apllication to C, Conf. Record of POPL \u201996: The 23rd ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, St. Petersburg Beach, Florida, 21\u201324 January 1996, pp. 145\u2013156.","DOI":"10.1145\/237721.237767"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB3","series-title":"Partial Evaluation and Mixed Computation","first-page":"83","article-title":"Across the bridge between reflection and partial evaluation","author":"Danvy","year":"1988"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB4","doi-asserted-by":"crossref","unstructured":"O. Danvy, Type-directed partial evaluation, ACM Symp. on Principles of Programming Languages, Florida, ACM, New York, January 1996, pp. 242\u2013257.","DOI":"10.1145\/237721.237784"},{"issue":"19","key":"10.1016\/S0304-3975(00)00053-0_BIB5","article-title":"The essence of eta-expansion in partial evaluation","volume":"1","author":"Danvy","year":"1995","journal-title":"LISP Symbolic Comput."},{"key":"10.1016\/S0304-3975(00)00053-0_BIB6","doi-asserted-by":"crossref","unstructured":"R. Davies, A temporal-logic approach to binding-time analysis, Proc. 11th Ann. IEEE Symp. on Logic in Computer Science, New Brunswick, New Jersey, 27\u201330 July, IEEE Computer Society Press, Silverspring, MD, 1996, pp. 184\u2013195.","DOI":"10.1109\/LICS.1996.561317"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB7","doi-asserted-by":"crossref","unstructured":"R. Davies, F. Pfenning, A Modal Analysis of Staged Computation, 23rd Ann. ACM Symp. on Principles of Programming Languages (POPL\u201996), St.Petersburg Beach, Florida, January 1996.","DOI":"10.1145\/237721.237788"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB8","series-title":"Programming Languages","first-page":"259","article-title":"Efficient multi-level generating extensions for program specialization","volume":"Vol. 982","author":"Gl\u00fcck","year":"1995"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB9","series-title":"Efficient multi-level generating extensions for program specialization, Programming Languages, Implementations, Logics and Programs (PLILP\u201995)","volume":"Vol. 982","author":"Gl\u00fcck","year":"1995"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB10","series-title":"Fast binding-time analysis for multi-level specialization, PSI-96","volume":"Vol. 1181","author":"Gl\u00fcck","year":"1996"},{"issue":"1","key":"10.1016\/S0304-3975(00)00053-0_BIB11","doi-asserted-by":"crossref","first-page":"21","DOI":"10.1017\/S0956796800000058","article-title":"A partial evaluator for untyped lambda calculus","volume":"1","author":"Gomard","year":"1991","journal-title":"J. Funct. Programm."},{"key":"10.1016\/S0304-3975(00)00053-0_BIB12","doi-asserted-by":"crossref","unstructured":"B. Grant, M. Mock, M. Philipose, C. Chambers, S.J. Eggers, Annotation-directed run-time Specialization in C, Proc. ACM SIGPLAN Symp. on Partial Evaluation and Semantics-Based Program Manipulation, Amsterdam, The Netherlands, June 1997, pp. 163\u2013178.","DOI":"10.1145\/258993.259016"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB13","series-title":"Partial Evaluation","first-page":"161","article-title":"Reasoning about hierarchies of online specialization systems","volume":"Vol. 1110","author":"Hatcliff","year":"1996"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB14","series-title":"Programming Languages and Systems \u2013 ESOP\u201994 5th European Symp. on Programming","first-page":"287","article-title":"Polymorphic binding-time analysis","volume":"Vol. 788","author":"Henglein","year":"1994"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB15","unstructured":"J. Hook, T. Sheard, A semantics of compile-time reflection, Tech. Rep. CSE 93-019, Oregon Graduate Institute, 1993."},{"key":"10.1016\/S0304-3975(00)00053-0_BIB16","doi-asserted-by":"crossref","unstructured":"L. Hornof, C. Consel, J. Noy\u00e9, Effective specialization of realistic programs via use sensitivity, SAS 1997, Paris, France, September 1997, pp. 293\u2013314.","DOI":"10.1007\/BFb0032749"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB17","doi-asserted-by":"crossref","unstructured":"L. Hornof, J. Noy\u00e9, Accurate binding-time analysis for imperative languages: Flow, context, and return sensitivity, Proc. ACM SIGPLAN Symp. on Partial Evaluation and Semantics-Based Program Manipulation, Amsterdam, The Netherlands, 12\u201313 June 1997, pp. 63\u201373.","DOI":"10.1145\/258993.259005"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB18","doi-asserted-by":"crossref","unstructured":"N.D. Jones, Mix ten years later, in: Partial Evaluation and Semantics-Based Program Manipulation, New Haven, Connecticut (Sigplan Notices, Vol. 26, no. 9, September 1991) ACM, New York, June 1995, pp. 24\u201338.","DOI":"10.1145\/215465.215468"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB19","series-title":"Partial Evaluation","first-page":"216","article-title":"What not to do when writing an interpreter for specialisation","volume":"Vol. 1110","author":"Jones","year":"1996"},{"year":"1993","series-title":"Partial Evaluation and Automatic Program Generation","author":"Jones","key":"10.1016\/S0304-3975(00)00053-0_BIB20"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB21","doi-asserted-by":"crossref","unstructured":"S.L.P. Jones, J. Launchbury, Unboxed values as first class citizens in a non-strict functional language, in: Functional Programming and Computer Architecture, September 1991.","DOI":"10.1007\/3540543961_30"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB22","doi-asserted-by":"crossref","unstructured":"R.B. Kieburtz, F. Bellegarde, J. Bell, J. Hook, J. Lewis, D. Oliva, T. Sheard, L. Walton, T. Zhou, Calculating software generators from solution specifications, TAPSOFT\u201995, Lecture Notes in Computer Science, Vol. 915, Springer, Berlin, 1995, pp. 546\u2013560.","DOI":"10.1007\/3-540-59293-8_219"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB23","doi-asserted-by":"crossref","unstructured":"R.B. Kieburtz, L. McKinney, J. Bell, J. Hook, A. Kotov, J. Lewis, D. Oliva, T. Sheard, I. Smith, L. Walton, A software engineering experiment in software component generation, in: 18th Internat. Conf. in Software Engineering, March 1996.","DOI":"10.1109\/ICSE.1996.493448"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB24","doi-asserted-by":"crossref","unstructured":"M. Leone, P. Lee, Deferred compilation: the automation of run-time code generation, Tech. Rep. CMU-CS-93-225, Carnegie Mellon University, December 1993.","DOI":"10.21236\/ADA274124"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB25","unstructured":"M. Leone, P. Lee, A declarative approach to run-time code generation, Workshop on Compiler Support for System Software (WCSSS), February 1996."},{"key":"10.1016\/S0304-3975(00)00053-0_BIB26","first-page":"22","article-title":"Amphion","volume":"31","author":"Lowry","year":"1994","journal-title":"NASA Sci. Inform. Systems Newslett."},{"key":"10.1016\/S0304-3975(00)00053-0_BIB27","doi-asserted-by":"crossref","first-page":"348","DOI":"10.1016\/0022-0000(78)90014-4","article-title":"A theory of type polymorphism in programming","volume":"17","author":"Milner","year":"1978","journal-title":"J. Comput. System Sci."},{"key":"10.1016\/S0304-3975(00)00053-0_BIB28","doi-asserted-by":"crossref","unstructured":"E. Moggi, A categorical account of two-level languages, In MFPS 1997, 1997.","DOI":"10.1016\/S1571-0661(05)80155-0"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB29","doi-asserted-by":"crossref","unstructured":"E. Moggi, W. Taha, Z. Benaissa, T. Sheard, An idealized MetaML: Simpler, and more expressive (includes Proofs), Tech. Rep. CSE-98-017, OGI, October 1998.","DOI":"10.1007\/3-540-49099-X_13"},{"issue":"3","key":"10.1016\/S0304-3975(00)00053-0_BIB30","doi-asserted-by":"crossref","first-page":"359","DOI":"10.1145\/3916.3917","article-title":"Program transformations in a denotational setting","volume":"7","author":"Nielson","year":"1985","journal-title":"ACM Trans. Programm. Languages Systems"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB31","doi-asserted-by":"crossref","unstructured":"F. Nielson, Correctness of code generation from a two-level meta-language, in: B. Robinet, R. Wilhelm (Eds.), Proc. European Symp. on Programming (ESOP 86), Lecture Notes in Computer Science, Vol. 213, Saarbr\u00fccken, FRG, March 1986, Springer, Berlin, pp. 30\u201340.","DOI":"10.1007\/3-540-16442-1_2"},{"issue":"2","key":"10.1016\/S0304-3975(00)00053-0_BIB32","doi-asserted-by":"crossref","first-page":"117","DOI":"10.1016\/0304-3975(89)90091-1","article-title":"Two-level semantics and abstract interpretation","volume":"69","author":"Nielson","year":"1989","journal-title":"Theoret. Comput. Sci."},{"issue":"1","key":"10.1016\/S0304-3975(00)00053-0_BIB33","doi-asserted-by":"crossref","first-page":"59","DOI":"10.1016\/0304-3975(86)90006-X","article-title":"Two-level semantics and code generation","volume":"56","author":"Nielson","year":"1988","journal-title":"Theoret. Comput. Sci."},{"year":"1992","series-title":"Two-Level Functional Languages, Cambridge Tracts in Theoretical Computer Science, Vol. 34","author":"Nielson","key":"10.1016\/S0304-3975(00)00053-0_BIB34"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB35","series-title":"Partial Evaluation. Dagstuhl Castle, Germany, February 1996","first-page":"338","article-title":"Multi-level lambda-calculi: an algebraic description","volume":"Vol. 1110","author":"Nielson","year":"1996"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB36","doi-asserted-by":"crossref","unstructured":"F. Nielson, H.R. Nielson, A prescriptive framework for designing multi-level lambda-calculi, Proc. Symp. on Partial Evaluation and Semantics-Based Program Manipulation, Amsterdam, June 1997.","DOI":"10.1145\/258993.259018"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB37","unstructured":"C. Pu, J. Walpole, A study of dynamic optimization techniques: lessons and directions in kernel design, Tech. Rep. OGI-CSE-93-007, Oregon Graduate Institute of Science and Technology, 1993."},{"key":"10.1016\/S0304-3975(00)00053-0_BIB38","unstructured":"T. Sheard, A user's guide to trpl, a compile-time reflective programming language, Tech. Rep. COINS Tech. Rep. 90-109, Dept. of Computer and Information Science, University of Massachusetts, 1990."},{"issue":"4","key":"10.1016\/S0304-3975(00)00053-0_BIB39","doi-asserted-by":"crossref","first-page":"531","DOI":"10.1145\/115372.115369","article-title":"Automatic generation and use of abstract structure operators","volume":"13","author":"Sheard","year":"1991","journal-title":"ACM Trans. Programm. Languages and Systems"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB40","unstructured":"T. Sheard, Guide to using crml, cmopile-time reflective ml. (Available from author's home-page), October 1993."},{"key":"10.1016\/S0304-3975(00)00053-0_BIB41","unstructured":"T. Sheard, Type parametric programming, Tech. Rep. CSE 93-018, Oregon Graduate Institute, 1993."},{"key":"10.1016\/S0304-3975(00)00053-0_BIB42","doi-asserted-by":"crossref","unstructured":"T. Sheard, A type-directed, on-line partial evaluator for a polymorphic language, in: Proc. Symp. on Partial Evaluation and Semantics-Based Program Manipulation, Amsterdam, June 1997.","DOI":"10.1145\/258993.258999"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB43","unstructured":"T. Sheard, N. Nelson, Type safe abstractions using program generators, Tech. Rep. OGI-TR-95-013, Oregon Graduate Institute of Science and Technology, 1995."},{"key":"10.1016\/S0304-3975(00)00053-0_BIB44","doi-asserted-by":"crossref","unstructured":"M. Shields, T. Sheard, S.P. Jones, Dynamic typing through staged type inference, in: Proc. 25th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, January 1998.","DOI":"10.1145\/268946.268970"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB45","unstructured":"B.C. Smith, Reflection and semantics in a procedural language, Ph.D. Thesis, Massachusetts Institute of Technology, January 1982."},{"key":"10.1016\/S0304-3975(00)00053-0_BIB46","doi-asserted-by":"crossref","unstructured":"B.C. Smith, Reflection and semantics in lisp, ACM Symp. on Principles of Programming Languages, January 1984.","DOI":"10.1145\/800017.800513"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB47","unstructured":"D. Stemple, R.B. Stanton, T. Sheard, P. Philbrow, R. Morrison, G.N.C. Kirby, L. Fegaras, R.L. Cooper, R.C.H. Connor, M.P. Atkinson, S. Alagic, Type-safe linguistic reflection: a generator technology, Tech. Rep. FIDE\/92\/49, ESPRIT BRA Project 3070 FIDE, 1992."},{"year":"1998","series-title":"Multi-stage programming: axiomatization and type-safety, 25th ICALP","author":"Taha","key":"10.1016\/S0304-3975(00)00053-0_BIB48"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB49","doi-asserted-by":"crossref","unstructured":"W. Taha, T. Sheard, Multi-stage programming with explicit annotations, Proc. ACM-SIGPLAN Symp. on Partial Evaluation and semantic based program manipulations PEPM\u201997, Amsterdam, ACM, New York, 1997, pp. 203\u2013217.","DOI":"10.1145\/258993.259019"},{"key":"10.1016\/S0304-3975(00)00053-0_BIB50","series-title":"Reflection 96","first-page":"95","article-title":"Towards partial evaluation of full Scheme","author":"Thiemann","year":"1996"}],"container-title":["Theoretical Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0304397500000530?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0304397500000530?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2024,12,4]],"date-time":"2024-12-04T13:35:44Z","timestamp":1733319344000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0304397500000530"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2000,10]]},"references-count":50,"journal-issue":{"issue":"1-2","published-print":{"date-parts":[[2000,10]]}},"alternative-id":["S0304397500000530"],"URL":"https:\/\/doi.org\/10.1016\/s0304-3975(00)00053-0","relation":{},"ISSN":["0304-3975"],"issn-type":[{"type":"print","value":"0304-3975"}],"subject":[],"published":{"date-parts":[[2000,10]]}}}