{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,7,20]],"date-time":"2025-07-20T04:34:59Z","timestamp":1752986099139,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":50,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540221524"},{"type":"electronic","value":"9783540259510"}],"license":[{"start":{"date-parts":[[2004,1,1]],"date-time":"2004-01-01T00:00:00Z","timestamp":1072915200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2004,1,1]],"date-time":"2004-01-01T00:00:00Z","timestamp":1072915200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2004]]},"DOI":"10.1007\/978-3-540-25951-0_11","type":"book-chapter","created":{"date-parts":[[2010,8,4]],"date-time":"2010-08-04T06:46:58Z","timestamp":1280904418000},"page":"340-375","source":"Crossref","is-referenced-by-count":12,"title":["Specialising Interpreters Using Offline Partial Deduction"],"prefix":"10.1007","author":[{"given":"Michael","family":"Leuschel","sequence":"first","affiliation":[]},{"given":"Stephen J.","family":"Craig","sequence":"additional","affiliation":[]},{"given":"Maurice","family":"Bruynooghe","sequence":"additional","affiliation":[]},{"given":"Wim","family":"Vanhoof","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"key":"11_CR1","unstructured":"Andersen, L.O.: Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, University of Copenhagen (DIKU report 94\/19) (May 1994)"},{"issue":"6A","key":"11_CR2","doi-asserted-by":"publisher","first-page":"743","DOI":"10.1007\/BF01213601","volume":"6","author":"K.R. Apt","year":"1994","unstructured":"Apt, K.R., Marchiori, E.: Reasoning about Prolog programs: from modes through types to assertions. Formal Aspects of Computing\u00a06(6A), 743\u2013765 (1994)","journal-title":"Formal Aspects of Computing"},{"key":"11_CR3","volume-title":"Meta-logics and Logic Programming","author":"K.R. Apt","year":"1995","unstructured":"Apt, K.R., Turini, F.: Meta-logics and Logic Programming. MIT Press, Cambridge (1995)"},{"key":"11_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"198","DOI":"10.1007\/3-540-58402-1_15","volume-title":"Programming Language Implementation and Logic Programming","author":"L. Birkedal","year":"1994","unstructured":"Birkedal, L., Welinder, M.: Hand-writing program generator generators. In: Penjam, J. (ed.) PLILP 1994. LNCS, vol.\u00a0844, pp. 198\u2013214. Springer, Heidelberg (1994)"},{"key":"11_CR5","first-page":"137","volume-title":"Meta-logics and Logic Programming","author":"F. Bowers","year":"1995","unstructured":"Bowers, F., Gurr, C.A.: Towards fast and declarative meta-programming. In: Apt, K.R., Turini, F. (eds.) Meta-logics and Logic Programming, pp. 137\u2013166. MIT Press, Cambridge (1995)"},{"key":"11_CR6","series-title":"M. Bruynooghe, M. Leuschel, and K. Sagonas","doi-asserted-by":"publisher","first-page":"27","DOI":"10.1007\/BFb0053561","volume-title":"Programming Languages and Systems","author":"M. Bruynooghe","year":"1998","unstructured":"Bruynooghe, M., Leuschel, M., Sagonas, K.: A polyvariant binding-time analysis for off-line partial deduction. In: Hankin, C. (ed.) ESOP 1998. M. Bruynooghe, M. Leuschel, and K. Sagonas, vol.\u00a01381, pp. 27\u201341. Springer, Heidelberg (1998)"},{"key":"11_CR7","series-title":"LNAI","doi-asserted-by":"publisher","first-page":"301","DOI":"10.1007\/BFb0013539","volume-title":"Processing Declarative Knowledge","author":"Y. Cosmadopoulos","year":"1991","unstructured":"Cosmadopoulos, Y., Sergot, M., Southwick, R.W.: Data-driven transformation of meta-interpreters: A sketch. In: Boley, H., Richter, M.M. (eds.) PDK 1991. LNCS (LNAI), vol.\u00a0567, pp. 301\u2013308. Springer, Heidelberg (1991)"},{"key":"11_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"85","DOI":"10.1007\/978-3-540-24754-8_8","volume-title":"Functional and Logic Programming","author":"S. Craig","year":"2004","unstructured":"Craig, S., Leuschel, M.: Lix: An effective self-applicable partial evaluator for Prolog. In: Kameyama, Y., Stuckey, P.J. (eds.) FLOPS 2004. LNCS, vol.\u00a02998, pp. 85\u201399. Springer, Heidelberg (2004) (to appear)"},{"key":"11_CR9","doi-asserted-by":"crossref","unstructured":"De Niel, A., Bevers, E., De Vlaminck, K.: Partial evaluation of polymorphically typed functional languages: The representation problem. In: Billaud, M., et al. (eds.) Analyse Statique en Programmation \u00c9quationelle, Fonctionelle, et Logique, October 1991. Bigre, vol.\u00a074, pp. 90\u201397 (1991)","DOI":"10.1145\/115865.115880"},{"issue":"5","key":"11_CR10","first-page":"45","volume":"2","author":"Y. Futamura","year":"1971","unstructured":"Futamura, Y.: Partial evaluation of a computation process \u2014 an approach to a compiler-compiler. Systems, Computers, Controls\u00a02(5), 45\u201350 (1971)","journal-title":"Systems, Computers, Controls"},{"key":"11_CR11","doi-asserted-by":"publisher","first-page":"88","DOI":"10.1145\/154630.154640","volume-title":"Proceedings of PEPM 1993, the ACM Sigplan Symposium on Partial Evaluation and Semantics- Based Program Manipulation","author":"J. Gallagher","year":"1993","unstructured":"Gallagher, J.: Tutorial on specialisation of logic programs. In: Proceedings of PEPM 1993, the ACM Sigplan Symposium on Partial Evaluation and Semantics- Based Program Manipulation, pp. 88\u201398. ACM Press, New York (1993)"},{"key":"11_CR12","unstructured":"Gallagher, J., Bruynooghe, M.: Some low-level transformations for logic programs. In: Bruynooghe, M. (ed.) Proceedings of Meta90 Workshop on Meta Programming in Logic, Leuven, Belgium, pp. 229\u2013244 (1990)"},{"key":"11_CR13","doi-asserted-by":"publisher","first-page":"9","DOI":"10.1145\/568173.568175","volume-title":"Proceedings of the ASIAN symposium on Partial evaluation and semantics-based program manipulation","author":"R. Gl\u00fcck","year":"2002","unstructured":"Gl\u00fcck, R.: Jones optimality, binding-time improvements, and the strength of program specializers. In: Proceedings of the ASIAN symposium on Partial evaluation and semantics-based program manipulation, pp. 9\u201319. ACM Press, New York (2002)"},{"key":"11_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"259","DOI":"10.1007\/BFb0026825","volume-title":"Programming Languages: Implementations, Logics and Programs","author":"R. Gl\u00fcck","year":"1995","unstructured":"Gl\u00fcck, R., J\u00f8rgensen, J.: Efficient multi-level generating extensions for program specialization. In: Swierstra, S.D. (ed.) PLILP 1995. LNCS, vol.\u00a0982, pp. 259\u2013278. Springer, Heidelberg (1995)"},{"key":"11_CR15","unstructured":"Gurr, C.A.: A Self-Applicable Partial Evaluator for the Logic Programming Language G\u00f6del.PhD thesis, Department of Computer Science, University of Bristol (January 1994)"},{"key":"11_CR16","doi-asserted-by":"crossref","unstructured":"Hill, P., Gallagher, J.: Meta-programming in logic programming. In: Gabbay, D.M., Hogger, C.J., Robinson, J.A. (eds.) Handbook of Logic in Artificial Intelligence and Logic Programming, vol.\u00a05, pp. 421\u2013497. Oxford Science Publications, Oxford University Press (1998)","DOI":"10.1093\/oso\/9780198537922.003.0010"},{"key":"11_CR17","unstructured":"Holst, C.K.: Syntactic currying: yet another approach to partial evaluation.Technical report, DIKU, Department of Computer Science, University of Copenhagen (1989)"},{"key":"11_CR18","unstructured":"Holst, C.K., Launchbury, J.: Handwriting cogen to avoid problems with static typing. In: Draft Proceedings, Fourth Annual Glasgow Workshop on Functional Programming, Skye, Scotland, pp. 210\u2013218. Glasgow University (1991)"},{"key":"11_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"639","DOI":"10.1007\/BFb0032064","volume-title":"Automata, Languages and Programming","author":"N.D. Jones","year":"1990","unstructured":"Jones, N.D.: Partial evaluation, self-application and types. In: Paterson, M. (ed.) ICALP 1990. LNCS, vol.\u00a0443, pp. 639\u2013659. Springer, Heidelberg (1990)"},{"key":"11_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"216","DOI":"10.1007\/3-540-61580-6_11","volume-title":"Partial Evaluation","author":"N.D. Jones","year":"1996","unstructured":"Jones, N.D.: What not to do when writing an interpreter for specialisation. In: Danvy, O., Thiemann, P., Gl\u00fcck, R. (eds.) Dagstuhl Seminar 1996. LNCS, vol.\u00a01110, pp. 216\u2013237. Springer, Heidelberg (1996)"},{"key":"11_CR21","volume-title":"Partial Evaluation and Automatic Program Generation","author":"N.D. Jones","year":"1993","unstructured":"Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice-Hall, Englewood Cliffs (1993)"},{"key":"11_CR22","series-title":"Lecture Notes in Computer Science","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":"Jones, N.D., Sestoft, P., S\u00f8ndergaard, H.: An experiment in partial evaluation: The generation of a compiler generator. In: Jouannaud, J.-P. (ed.) RTA 1985. LNCS, vol.\u00a0202, pp. 124\u2013140. Springer, Heidelberg (1985)"},{"issue":"1","key":"11_CR23","doi-asserted-by":"publisher","first-page":"9","DOI":"10.1007\/BF01806312","volume":"2","author":"N.D. Jones","year":"1989","unstructured":"Jones, N.D., Sestoft, P., S\u00f8ndergaard, H.: Mix: a self-applicable partial evaluator for experiments in compiler generation. LISP and Symbolic Computation\u00a02(1), 9\u201350 (1989)","journal-title":"LISP and Symbolic Computation"},{"key":"11_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"238","DOI":"10.1007\/3-540-61580-6_12","volume-title":"Partial Evaluation","author":"J. J\u00f8rgensen","year":"1996","unstructured":"J\u00f8rgensen, J., Leuschel, M.: Efficiently generating efficient generating extensions in Prolog. In: Danvy, O., Thiemann, P., Gl\u00fcck, R. (eds.) Dagstuhl Seminar 1996. LNCS, vol.\u00a01110, pp. 238\u2013262. Springer, Heidelberg (1996)"},{"key":"11_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"49","DOI":"10.1007\/3-540-56282-6_4","volume-title":"Meta-Programming in Logic","author":"J. Komorowski","year":"1992","unstructured":"Komorowski, J.: An introduction to partial deduction. In: Pettorossi, A. (ed.) META 1992. LNCS, vol.\u00a0649, pp. 49\u201369. Springer, Heidelberg (1992)"},{"key":"11_CR26","doi-asserted-by":"publisher","first-page":"61","DOI":"10.1007\/BF03037513","volume":"8","author":"A. Lakhotia","year":"1990","unstructured":"Lakhotia, A., Sterling, L.: How to control unfolding when specializing interpreters. New Generation Computing\u00a08, 61\u201370 (1990)","journal-title":"New Generation Computing"},{"key":"11_CR27","unstructured":"Leuschel, M.: The ecce partial deduction system and the dppd library of benchmarks (1996-2002), Obtainable via \n                      http:\/\/www.ecs.soton.ac.uk\/~mal"},{"key":"11_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"379","DOI":"10.1007\/3-540-36377-7_17","volume-title":"The Essence of Computation","author":"M. Leuschel","year":"2002","unstructured":"Leuschel, M.: Homeomorphic embedding for online termination of symbolic methods. In: Mogensen, T.\u00c6., Schmidt, D.A., Sudborough, I.H. (eds.) The Essence of Computation. LNCS, vol.\u00a02566, pp. 379\u2013403. Springer, Heidelberg (2002)"},{"issue":"4 & 5","key":"11_CR29","doi-asserted-by":"publisher","first-page":"461","DOI":"10.1017\/S147106840200145X","volume":"2","author":"M. Leuschel","year":"2002","unstructured":"Leuschel, M., Bruynooghe, M.: Logic program specialisation through partial deduction: Control issues. Theory and Practice of Logic Programming\u00a02(4 & 5), 461\u2013515 (2002)","journal-title":"Theory and Practice of Logic Programming"},{"key":"11_CR30","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"855","DOI":"10.1007\/978-3-540-45236-2_46","volume-title":"FME 2003: Formal Methods","author":"M. Leuschel","year":"2003","unstructured":"Leuschel, M., Butler, M.: ProB: A model checker for B. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol.\u00a02805, pp. 855\u2013874. Springer, Heidelberg (2003)"},{"issue":"1","key":"11_CR31","doi-asserted-by":"publisher","first-page":"139","DOI":"10.1017\/S1471068403001662","volume":"4","author":"M. Leuschel","year":"2004","unstructured":"Leuschel, M., J\u00f8rgensen, J., Vanhoof, W., Bruynooghe, M.: Offline specialisation in Prolog using a hand-written compiler generator. Theory and Practice of Logic Programming\u00a04(1), 139\u2013191 (2004)","journal-title":"Theory and Practice of Logic Programming"},{"issue":"1","key":"11_CR32","doi-asserted-by":"publisher","first-page":"208","DOI":"10.1145\/271510.271525","volume":"20","author":"M. Leuschel","year":"1998","unstructured":"Leuschel, M., Martens, B., De Schreye, D.: Controlling generalisation and polyvariance in partial deduction of normal logic programs. ACM Transactions on Programming Languages and Systems\u00a020(1), 208\u2013258 (1998)","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"11_CR33","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"83","DOI":"10.1007\/3-540-62718-9_6","volume-title":"Logic Program Synthesis and Transformation","author":"M. Leuschel","year":"1997","unstructured":"Leuschel, M., S\u00f8rensen, M.H.: Redundant argument filtering of logic programs. In: Gallagher, J.P. (ed.) LOPSTR 1996. LNCS, vol.\u00a01207, pp. 83\u2013103. Springer, Heidelberg (1997)"},{"key":"11_CR34","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-83189-8","volume-title":"Foundations of Logic Programming","author":"J.W. Lloyd","year":"1987","unstructured":"Lloyd, J.W.: Foundations of Logic Programming. Springer, Heidelberg (1987)"},{"issue":"3","key":"11_CR35","doi-asserted-by":"publisher","first-page":"225","DOI":"10.1016\/0743-1066(84)90011-6","volume":"1","author":"J.W. Lloyd","year":"1984","unstructured":"Lloyd, J.W., Topor, R.W.: Making Prolog more expressive. Journal of Logic Programming\u00a01(3), 225\u2013240 (1984)","journal-title":"Journal of Logic Programming"},{"key":"11_CR36","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"129","DOI":"10.1007\/3-540-45350-4_11","volume-title":"Semantics, Applications, and Implementation of Program Generation","author":"H. Makholm","year":"2000","unstructured":"Makholm, H.: On Jones-optimal specialization for strongly typed languages. In: Taha, W. (ed.) SAIG 2000. LNCS, vol.\u00a01924, pp. 129\u2013148. Springer, Heidelberg (2000)"},{"key":"11_CR37","unstructured":"Martens, B.: On the Semantics of Meta-Programming and the Control of Partial Deduction in Logic Programming. PhD thesis, K.U. Leuven (February 1994)"},{"key":"11_CR38","first-page":"597","volume-title":"Proceedings ICLP 1995","author":"B. Martens","year":"1995","unstructured":"Martens, B., Gallagher, J.: Ensuring global termination of partial deduction while allowing flexible polyvariance. In: Sterling, L. (ed.) Proceedings ICLP 1995, Kanagawa, Japan, June 1995, pp. 597\u2013613. MIT Press, Cambridge (1995)"},{"key":"11_CR39","first-page":"214","volume-title":"Logic Program Synthesis and Transformation. Proceedings of LOPSTR 1992","author":"T. Mogensen","year":"1992","unstructured":"Mogensen, T., Bondorf, A.: Logimix: A self-applicable partial evaluator for Prolog. In: Lau, K.-K., Clement, T. (eds.) Logic Program Synthesis and Transformation. Proceedings of LOPSTR 1992, pp. 214\u2013227. Springer, Heidelberg (1992)"},{"key":"11_CR40","doi-asserted-by":"crossref","unstructured":"Mogensen, T. \u00c6.: Separating binding times in language specifications.In Proceedings of FPCA 1989, pp. 12\u201325. ACM press, New York (1989)","DOI":"10.1145\/99370.99372"},{"key":"11_CR41","first-page":"199","volume-title":"Logic Program Synthesis and Transformation. Proceedings of LOPSTR 1992, Workshops in Computing","author":"S. Prestwich","year":"1992","unstructured":"Prestwich, S.: An unfold rule for full Prolog. In: Lau, K.-K., Clement, T. (eds.) Logic Program Synthesis and Transformation. Proceedings of LOPSTR 1992, Workshops in Computing, University of Manchester, pp. 199\u2013213. Springer, Heidelberg (1992)"},{"key":"11_CR42","unstructured":"Safra, S., Shapiro, E.: Meta interpreters for real. In: Kugler, H.-J. (ed.) Proceedings of IFIP 1986, pp. 271\u2013278 (1986)"},{"issue":"1","key":"11_CR43","doi-asserted-by":"publisher","first-page":"7","DOI":"10.1007\/BF03038271","volume":"12","author":"D. Sahlin","year":"1993","unstructured":"Sahlin, D.: Mixtus: An automatic partial evaluator for full Prolog. New Generation Computing\u00a012(1), 7\u201351 (1993)","journal-title":"New Generation Computing"},{"issue":"1 & 2","key":"11_CR44","doi-asserted-by":"publisher","first-page":"163","DOI":"10.1016\/0743-1066(89)90034-4","volume":"6","author":"L. Sterling","year":"1989","unstructured":"Sterling, L., Beer, R.D.: Metainterpreters for expert system construction. The Journal of Logic Programming\u00a06(1 & 2), 163\u2013178 (1989)","journal-title":"The Journal of Logic Programming"},{"key":"11_CR45","volume-title":"The Art of Prolog","author":"L. Sterling","year":"1986","unstructured":"Sterling, L., Shapiro, E.: The Art of Prolog. MIT Press, Cambridge (1986)"},{"key":"11_CR46","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"257","DOI":"10.1007\/3-540-44978-7_15","volume-title":"Programs as Data Objects","author":"W. Taha","year":"2001","unstructured":"Taha, W., Makholm, H., Hughes, J.: Tag elimination and Jones-optimality. In: Danvy, O., Filinski, A. (eds.) PADO 2001. LNCS, vol.\u00a02053, pp. 257\u2013275. Springer, Heidelberg (2001)"},{"key":"11_CR47","unstructured":"Takeuchi, A., Furukawa, K.: Partial evaluation of Prolog programs and its application to meta programming. In: Kugler, H.-J. (ed.) Information Processing, vol.\u00a086, pp. 415\u2013420 (1986)"},{"key":"11_CR48","first-page":"180","volume-title":"International Conference on Functional Programming","author":"P. Thiemann","year":"1996","unstructured":"Thiemann, P.: Cogen in six lines. In: International Conference on Functional Programming, pp. 180\u2013189. ACM Press, New York (1996)"},{"key":"11_CR49","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"189","DOI":"10.1007\/978-3-540-25951-0_7","volume-title":"Program Development in Computational Logic","author":"W. Vanhoof","year":"2004","unstructured":"Vanhoof, W., Bruynooghe, M., Leuschel, M.: Binding-time analysis for Mercury. In: Bruynooghe, M., Lau, K.-K. (eds.) Program Development in Computational Logic. LNCS, vol.\u00a03049, pp. 189\u2013232. Springer, Heidelberg (2004)"},{"key":"11_CR50","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"322","DOI":"10.1007\/3-540-49674-2_17","volume-title":"Logic Program Synthesis and Transformation","author":"W. Vanhoof","year":"1998","unstructured":"Vanhoof, W., Martens, B.: To parse or not to parse. In: Fuchs, N.E. (ed.) LOPSTR 1997. LNCS, vol.\u00a01463, pp. 322\u2013342. Springer, Heidelberg (1998)"}],"container-title":["Lecture Notes in Computer Science","Program Development in Computational Logic"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-540-25951-0_11","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,2,18]],"date-time":"2023-02-18T03:27:59Z","timestamp":1676690879000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-540-25951-0_11"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004]]},"ISBN":["9783540221524","9783540259510"],"references-count":50,"URL":"https:\/\/doi.org\/10.1007\/978-3-540-25951-0_11","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2004]]}}}