{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:13:17Z","timestamp":1763467997537},"publisher-location":"Berlin, Heidelberg","reference-count":28,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540221197"},{"type":"electronic","value":"9783540259350"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2004]]},"DOI":"10.1007\/978-3-540-25935-0_17","type":"book-chapter","created":{"date-parts":[[2010,7,22]],"date-time":"2010-07-22T19:46:50Z","timestamp":1279828010000},"page":"291-306","source":"Crossref","is-referenced-by-count":19,"title":["Runtime Code Generation in C++ as a Foundation for Domain-Specific Optimisation"],"prefix":"10.1007","author":[{"given":"Olav","family":"Beckmann","sequence":"first","affiliation":[]},{"given":"Alastair","family":"Houghton","sequence":"additional","affiliation":[]},{"given":"Michael","family":"Mellor","sequence":"additional","affiliation":[]},{"given":"Paul H. J.","family":"Kelly","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"key":"17_CR1","doi-asserted-by":"publisher","first-page":"31","DOI":"10.1145\/193209.193217","volume":"29","author":"R.P. Wilson","year":"1994","unstructured":"Wilson, R.P., French, R.S., Wilson, C.S., Amarasinghe, S.P., Anderson, J.M., Tjiang, S.W.K., Liao, S.W., Tseng, C.W., Hall, M.W., Lam, M.S., Hennessy, J.L.: SUIF: an infrastructure for research on parallelizing and optimizing compilers. ACM SIGPLAN Notices\u00a029, 31\u201337 (1994)","journal-title":"ACM SIGPLAN Notices"},{"key":"17_CR2","doi-asserted-by":"crossref","unstructured":"Engler, D.R., Hsieh, W.C., Kaashoek, M.F.: C: a language for high-level, efficient, and machine-independent dynamic code generation. In: POPL 1996: Principles of Programming Languages, pp. 131\u2013144 (1996)","DOI":"10.1145\/237721.237765"},{"key":"17_CR3","doi-asserted-by":"publisher","first-page":"147","DOI":"10.1016\/S0304-3975(00)00051-7","volume":"248","author":"B. Grant","year":"2000","unstructured":"Grant, B., Mock, M., Philipose, M., Chambers, C., Eggers, S.J.: DyC: An expressive annotation-directed dynamic compiler for C. Theoretical Computer Science\u00a0248, 147\u2013199 (2000)","journal-title":"Theoretical Computer Science"},{"key":"17_CR4","doi-asserted-by":"crossref","unstructured":"McCarthy, J.: History of LISP. In: The first ACM SIGPLAN Conference on History of Programming Languages. ACM SIGPLAN Notices, vol.\u00a013(8), pp. 217\u2013223 (1978)","DOI":"10.1145\/800025.808387"},{"key":"17_CR5","doi-asserted-by":"crossref","unstructured":"Grant, B., Philipose, M., Mock, M., Chambers, C., Eggers, S.J.: An evaluation of staged run-time optimizations in DyC. In: PLDI 1999: Programming Language Design and Implementation, pp. 293\u2013304 (1999)","DOI":"10.1145\/301618.301683"},{"key":"17_CR6","doi-asserted-by":"crossref","unstructured":"Jones, N.D.: Mix Ten Years Later. In: PEPM 1995: Partial Evaluation and Semantics-Based Program Manipulation (1995)","DOI":"10.1145\/215465.215468"},{"key":"17_CR7","unstructured":"Intel Corporation: Integrated Performance Primitives for Intel Architecture. Reference Manual, vol. 2: Image and Video Processing (200\u20132001)"},{"key":"17_CR8","unstructured":"Intel Corporation: Intel Pentium 4 and Intel Xeon Processor Optimization Reference Manual (1999\u20132002) Available via developer.intel.com"},{"key":"17_CR9","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1016\/S0167-8191(00)00087-9","volume":"27","author":"R.C. Whaley","year":"2001","unstructured":"Whaley, R.C., Petitet, A., Dongarra, J.J.: Automated empirical optimizations of software and the ATLAS project. Parallel Computing\u00a027, 3\u201335 (2001)","journal-title":"Parallel Computing"},{"key":"17_CR10","volume-title":"Fifth International Conference on Software Reuse","author":"D. Batory","year":"1998","unstructured":"Batory, D., Lofaso, B., Smaragdakis, Y.: JTS: Tools for Implementing Domain- Specific Languages. In: Fifth International Conference on Software Reuse. IEEE Computer Society Press, Los Alamitos (1998)"},{"key":"17_CR11","doi-asserted-by":"publisher","first-page":"211","DOI":"10.1016\/S0304-3975(00)00053-0","volume":"248","author":"W. Taha","year":"2000","unstructured":"Taha, W., Sheard, T.: MetaML and multi-stage programming with explicit annotations. Theoretical Computer Science\u00a0248, 211\u2013242 (2000)","journal-title":"Theoretical Computer Science"},{"key":"17_CR12","series-title":"Lecture Notes in Computer Science","volume-title":"Operating Systems","author":"W. Taha","year":"1981","unstructured":"Taha, W.: A gentle introduction to multi-stage programming. In: Gelenbe, E., Kaiser, C. (eds.) Operating Systems. LNCS, vol.\u00a016. Springer, Heidelberg (1981)"},{"key":"17_CR13","doi-asserted-by":"publisher","first-page":"60","DOI":"10.1145\/636517.636528","volume":"37","author":"T. Sheard","year":"2002","unstructured":"Sheard, T., Peyton-Jones, S.: Template meta-programming for Haskell. ACM SIGPLAN Notices\u00a037, 60\u201375 (2002)","journal-title":"ACM SIGPLAN Notices"},{"key":"17_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"223","DOI":"10.1007\/3-540-49372-7_24","volume-title":"Computing in Object-Oriented Parallel Environments","author":"T.L. Veldhuizen","year":"1998","unstructured":"Veldhuizen, T.L.: Arrays in Blitz++. In: Caromel, D., Oldehoeft, R.R., Tholburn, M. (eds.) ISCOPE 1998. LNCS, vol.\u00a01505, pp. 223\u2013230. Springer, Heidelberg (1998)"},{"key":"17_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"231","DOI":"10.1007\/3-540-49372-7_25","volume-title":"Computing in Object-Oriented Parallel Environments","author":"S. Karmesin","year":"1998","unstructured":"Karmesin, S., Crotinger, J., Cummings, J., Haney, S., Humphrey, W.J., Reynders, J., Smith, S., Williams, T.: Array design and expression evaluation in POOMA II. In: Caromel, D., Oldehoeft, R.R., Tholburn, M. (eds.) ISCOPE 1998. LNCS, vol.\u00a01505, pp. 231\u2013238. Springer, Heidelberg (1998)"},{"key":"17_CR16","doi-asserted-by":"publisher","first-page":"281","DOI":"10.1145\/301631.301681","volume":"34","author":"R. Marlet","year":"1999","unstructured":"Marlet, R., Consel, C., Boinot, P.: Efficient incremental run-time specialization for free. ACM SIGPLAN Notices\u00a034, 281\u2013292 (1999); Proceedings of PLDI 1999","journal-title":"ACM SIGPLAN Notices"},{"key":"17_CR17","doi-asserted-by":"crossref","unstructured":"Consel, C., Hornof, L., Marlet, R., Muller, G., Thibault, S., Volanschi, E.N.: Tempo: Specializing systems applications and beyond. ACM Computing Surveys\u00a030 (1998)","DOI":"10.1145\/289121.289140"},{"key":"17_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"261","DOI":"10.1007\/3-540-62064-8_22","volume-title":"Perspectives of System Informatics","author":"R. Gl\u00fcck","year":"1996","unstructured":"Gl\u00fcck, R., J\u00f8rgensen, J.: Fast binding-time analysis for multi-level specialization. In: Bjorner, D., Broy, M., Pottosin, I.V. (eds.) PSI 1996. LNCS, vol.\u00a01181, pp. 261\u2013272. Springer, Heidelberg (1996)"},{"key":"17_CR19","unstructured":"Sharma, S., Acharya, A., Saltz, J.: Deferred Data-Flow Analysis. Technical Report TRCS98-38, University of California, Santa Barbara (1998)"},{"key":"17_CR20","doi-asserted-by":"crossref","unstructured":"Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: A transparent dynamic optimization system. In: PLDI 2000: Programming Language Design and Implementation, pp. 1\u201312 (2000)","DOI":"10.1145\/349299.349303"},{"key":"17_CR21","unstructured":"Fordham, P.: Transparent run-time cross-component loop fusion. MEng Thesis, Department of Computing, Imperial College London (2002)"},{"key":"17_CR22","unstructured":"http:\/\/www.opnemp.org\n                    \n                    \n                  : OpenMP C and C++ Application Program Interface, Version 2.0 (2002)"},{"key":"17_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"666","DOI":"10.1007\/3-540-45706-2_92","volume-title":"Euro-Par 2002. Parallel Processing","author":"P. Liniker","year":"2002","unstructured":"Liniker, P., Beckmann, O., Kelly, P.H.J.: Delayed evaluation, self-optimising software components as a programming model. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol.\u00a02400, pp. 666\u2013673. Springer, Heidelberg (2002)"},{"key":"17_CR24","unstructured":"Subramanian, M.: A C++ library to manipulate parallel computation plans. Msc thesis, Department of Computing, Imperial College London, U.K. (2001)"},{"key":"17_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"73","DOI":"10.1007\/978-3-540-25935-0_5","volume-title":"Domain-Specific Program Generation","author":"C. Lengauer","year":"2004","unstructured":"Lengauer, C.: Program optimization in the domain of high-performance parallelism. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol.\u00a03016, pp. 73\u201391. Springer, Heidelberg (2004)"},{"key":"17_CR26","unstructured":"Veldhuizen, T.L.: C++ templates as partial evaluation. In: PEPM 1999: Partial Evaluation and Semantic-Based Program Manipulation, pp. 13\u201318 (1999)"},{"key":"17_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"51","DOI":"10.1007\/978-3-540-25935-0_4","volume-title":"Domain-Specific Program Generation","author":"K. Czarnecki","year":"2004","unstructured":"Czarnecki, K., O\u2019Donnell, J., Striegnitz, J., Taha, W.: DSL Implementation in MetaOCaml, Template Haskell, and C++. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol.\u00a03016, pp. 51\u201372. Springer, Heidelberg (2004)"},{"key":"17_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"216","DOI":"10.1007\/978-3-540-25935-0_13","volume-title":"Domain-Specific Program Generation","author":"E. Visser","year":"2004","unstructured":"Visser, E.: Program Transformation with Stratego\/XT: Rules, Strategies, Tools, and Systems in Stratego\/XT 0.9. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol.\u00a03016, pp. 216\u2013238. Springer, Heidelberg (2004)"}],"container-title":["Lecture Notes in Computer Science","Domain-Specific Program Generation"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-540-25935-0_17.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,5,3]],"date-time":"2021-05-03T03:17:10Z","timestamp":1620011830000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-540-25935-0_17"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004]]},"ISBN":["9783540221197","9783540259350"],"references-count":28,"URL":"https:\/\/doi.org\/10.1007\/978-3-540-25935-0_17","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2004]]}}}