{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,9]],"date-time":"2024-09-09T16:41:16Z","timestamp":1725900076909},"publisher-location":"Berlin, Heidelberg","reference-count":21,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642305603"},{"type":"electronic","value":"9783642305610"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2012]]},"DOI":"10.1007\/978-3-642-30561-0_12","type":"book-chapter","created":{"date-parts":[[2012,5,25]],"date-time":"2012-05-25T22:31:43Z","timestamp":1337985103000},"page":"155-170","source":"Crossref","is-referenced-by-count":2,"title":["Supporting Compile-Time Debugging and Precise Error Reporting in Meta-programs"],"prefix":"10.1007","author":[{"given":"Yannis","family":"Lilis","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Anthony","family":"Savidis","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"12_CR1","volume-title":"The C programming language","author":"B.W. Kernighan","year":"1988","unstructured":"Kernighan, B.W., Ritchie, D.M.: The C programming language. Prentice-Hall, Englewood Cliffs (1988)"},{"key":"12_CR2","unstructured":"Bawden, A.: Quasiquotation in Lisp. In: Danvy, O. (ed.) Proceedings of the Workshop on Partial Evaluation and Semantics-Based Program Manipulation, San Antonio, pp. 88\u201399. University of Aarhus, Dept. of Computer Science. Invited talk (1999)"},{"key":"12_CR3","unstructured":"Martel, M., Sheard, T.: Introduction to multi-stage programming using MetaML. Technical report, OGI, Portland, OR, 211, 213 (September 1997)"},{"key":"12_CR4","doi-asserted-by":"crossref","unstructured":"Taha, W., Sheard, T.: Multi-stage programming with explicit annotations. In: Proceedings of the Symposium on Partial Evaluation and Semantic-Based Program Manipulation (PEPM), Amsterdam, pp. 203\u2013217. ACM Press (1997)","DOI":"10.1145\/258993.259019"},{"key":"12_CR5","series-title":"Lecture Notes in Computer Science","first-page":"207","volume-title":"Advanced Functional Programming","author":"T. Sheard","year":"1996","unstructured":"Sheard, T.: Using MetaML: A Staged Programming Language. In: Launchbury, J., Sheard, T., Meijer, E. (eds.) AFP 1996. LNCS, vol.\u00a01129, pp. 207\u2013239. Springer, Heidelberg (1996)"},{"key":"12_CR6","unstructured":"MetaOCaml: A compiled, type-safe multi-stage programming language (2003), \n                  \n                    http:\/\/www.metaocaml.org\/\n                  \n                  \n                 (accessed September 13, 2011)"},{"key":"12_CR7","unstructured":"Stroustrup, B.: The C++ Programming Language Special Edition. Addison-Wesley (2000)"},{"key":"12_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"2","DOI":"10.1007\/3-540-44806-3_2","volume-title":"Semantics, Applications, and Implementation of Program Generation","author":"T. Sheard","year":"2001","unstructured":"Sheard, T.: Accomplishments and Research Challenges in Meta-programming. In: Taha, W. (ed.) SAIG 2001. LNCS, vol.\u00a02196, pp. 2\u201344. Springer, Heidelberg (2001)"},{"issue":"4","key":"12_CR9","first-page":"36","volume":"7","author":"T. Veldhuizen","year":"1995","unstructured":"Veldhuizen, T.: Using C++ template metaprograms. C++ Report\u00a07(4), 36\u201343 (1995)","journal-title":"C++ Report"},{"key":"12_CR10","unstructured":"Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley Professional (2004)"},{"key":"12_CR11","doi-asserted-by":"crossref","unstructured":"Porkolab, Z., Mihalicza, J., Sipos, A.: Debugging C++ template metaprograms. In: Proc. of GPCE 2006, pp. 255\u2013264. ACM (2006)","DOI":"10.1145\/1173706.1173746"},{"key":"12_CR12","unstructured":"Alexandrescu, A.: The D Programming Language. Addison-Wesley Professional (2010)"},{"key":"12_CR13","unstructured":"Descent: An Eclipse plugin providing an IDE for the D programming language, \n                  \n                    http:\/\/www.dsource.org\/projects\/descent\n                  \n                  \n                 (accessed September 13, 2011)"},{"key":"12_CR14","unstructured":"Skalski, K., Moskal, M., Olszta, P.: Meta-programming in Nemerle (2004), \n                  \n                    http:\/\/nemerle.org\/metaprogramming.pdf\n                  \n                  \n                 (accessed September 13, 2011)"},{"key":"12_CR15","doi-asserted-by":"crossref","unstructured":"Sheard, T., Jones, S.P.: Template meta-programming for Haskell. In: Proceedings of the Haskell Workshop 2002. ACM (2002)","DOI":"10.1145\/581690.581691"},{"key":"12_CR16","unstructured":"Bachrach, J., Playford, K.: D-expressions: Lisp power, dylan style (1999), \n                  \n                    http:\/\/www.ai.mit.edu\/people\/jrb\/Projects\/dexprs.pdf\n                  \n                  \n                 (accessed September 13, 2011)"},{"key":"12_CR17","unstructured":"Fleutot, F.: Man Metalua (April 2007), \n                  \n                    http:\/\/metalua.luaforge.net\/metalua-manual.html"},{"key":"12_CR18","doi-asserted-by":"crossref","unstructured":"Tratt, L.: Compile-time meta-programming in a dynamically typed OO language. In: Proceedings Dynamic Languages Symposium, pp. 49\u201364 (October 2005)","DOI":"10.1145\/1146841.1146846"},{"key":"12_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"113","DOI":"10.1007\/11751113_9","volume-title":"Rapid Integration of Software Engineering Techniques","author":"A. Savidis","year":"2006","unstructured":"Savidis, A.: Dynamic Imperative Languages for Runtime Extensible Semantics and Polymorphic Meta-Programming. In: Guelfi, N., Savidis, A. (eds.) RISE 2005. LNCS, vol.\u00a03943, pp. 113\u2013128. Springer, Heidelberg (2006)"},{"key":"12_CR20","unstructured":"Savidis, A., Bourdenas, T., Georgalis, J.: An Adaptable Circular Meta-IDE for a Dynamic Programming Language. In: Proceedings of the 4th International Workshop on Rapid Integration of Software Engineering Techniques (RISE 2007), Luxemburg, November 26-27, pp. 99\u2013114 (2007)"},{"key":"12_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"30","DOI":"10.1007\/978-3-540-25935-0_3","volume-title":"Domain-Specific Program Generation","author":"W. Taha","year":"2004","unstructured":"Taha, W.: A Gentle Introduction to Multi-stage Programming. In: Lengauer, C., Batory, D., Blum, A., Vetta, A. (eds.) Domain-Specific Program Generation. LNCS, vol.\u00a03016, pp. 30\u201350. Springer, Heidelberg (2004)"}],"container-title":["Lecture Notes in Computer Science","Objects, Models, Components, Patterns"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-30561-0_12.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,5,4]],"date-time":"2021-05-04T11:44:47Z","timestamp":1620128687000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-30561-0_12"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012]]},"ISBN":["9783642305603","9783642305610"],"references-count":21,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-30561-0_12","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2012]]}}}