{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T15:22:41Z","timestamp":1725549761498},"publisher-location":"Berlin, Heidelberg","reference-count":32,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540291381"},{"type":"electronic","value":"9783540319771"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2005]]},"DOI":"10.1007\/11561347_22","type":"book-chapter","created":{"date-parts":[[2005,10,3]],"date-time":"2005-10-03T12:41:30Z","timestamp":1128343290000},"page":"327-341","source":"Crossref","is-referenced-by-count":18,"title":["A Type System for Reflective Program Generators"],"prefix":"10.1007","author":[{"given":"Dirk","family":"Draheim","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christof","family":"Lutteroth","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gerald","family":"Weber","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"22_CR1","volume-title":"Form-Oriented Analysis - A New Methodology to Model Form-Based Applications","author":"D. Draheim","year":"2004","unstructured":"Draheim, D., Weber, G.: Form-Oriented Analysis - A New Methodology to Model Form-Based Applications. Springer, Heidelberg (2004)"},{"key":"22_CR2","unstructured":"Draheim, D., Lutteroth, C., Weber, G.: Factory: Statically Type-Safe Integration of Genericity and Reflection. In: Proceedings of the 4th International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel\/Distributed Computing, ACIS (2003)"},{"key":"22_CR3","volume-title":"Proceedings of ICITA 2005: The 3rd International Conference on Information Technology and Applications","author":"D. Draheim","year":"2005","unstructured":"Draheim, D., Lutteroth, C., Weber, G.: Integrating Code Generators into the C# Language. In: Proceedings of ICITA 2005: The 3rd International Conference on Information Technology and Applications. IEEE Press, Los Alamitos (2005) (to appear)"},{"key":"22_CR4","doi-asserted-by":"crossref","unstructured":"Draheim, D., Lutteroth, C., Weber, G.: Generative Programming for C#. ACM SIGPLAN Notices (2005) (to appear)","DOI":"10.1145\/1089851.1089857"},{"key":"22_CR5","series-title":"Lecture Notes in Computer Science","first-page":"18","volume-title":"Proceedings of the European Conference on Object-Oriented Programming","author":"G. Kiczales","year":"2001","unstructured":"Kiczales, G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol.\u00a02072, pp. 18\u201322. Springer, Heidelberg (2001)"},{"key":"22_CR6","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"E. Gamma","year":"1995","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)"},{"key":"22_CR7","first-page":"151","volume-title":"Proceedings of the ACM SIGPLAN Conference on LISP and Functional Programming","author":"E. Kohlbecker","year":"1986","unstructured":"Kohlbecker, E., Friedman, D., Felleisen, M., Duba, B.: Hygienic Macro Expansion. In: Gabriel, R. (ed.) Proceedings of the ACM SIGPLAN Conference on LISP and Functional Programming, pp. 151\u2013181. ACM Press, New York (1986)"},{"key":"22_CR8","volume-title":"Generative Programming - Methods, Tools, and Applications","author":"K. Czarnecki","year":"2000","unstructured":"Czarnecki, K., Eisenecker, U.: Generative Programming - Methods, Tools, and Applications. Addison-Wesley, Reading (2000)"},{"key":"22_CR9","volume-title":"Object Oriented Programming - The CLOS perspective","author":"R.G. Gabriel","year":"1993","unstructured":"Gabriel, R.G., Bobrow, D.G.: Object Oriented Programming - The CLOS perspective. The MIT Press, Cambridge (1993)"},{"key":"22_CR10","first-page":"285","volume-title":"OOPSLA 1995 - Proceedings of the 10 th Conference on Object-Oriented Programming Systems, Languages and Programming. SIGPLAN Notices","author":"S. Chiba","year":"1995","unstructured":"Chiba, S.: A Metaobject Protocol for C++. In: OOPSLA 1995 - Proceedings of the 10 th Conference on Object-Oriented Programming Systems, Languages and Programming. SIGPLAN Notices, pp. 285\u2013299. ACM Press, New York (1995)"},{"key":"22_CR11","volume-title":"Proceedings of ECOOP 2000 Workshop on Reflection and Metalevel Architectures: State of the Art, and Future Trends","author":"D. Nizhegorodov","year":"2000","unstructured":"Nizhegorodov, D.: Jasper: Type-Safe MOP-Based Language Extensions and Reflective Template Processing in Java. In: Proceedings of ECOOP 2000 Workshop on Reflection and Metalevel Architectures: State of the Art, and Future Trends. ACM Press, New York (2000)"},{"key":"22_CR12","volume-title":"Handbook of Computer Science and Engineering","author":"L. Cardelli","year":"1997","unstructured":"Cardelli, L.: Type Systems. In: Handbook of Computer Science and Engineering. CRC Press, Boca Raton (1997)"},{"key":"22_CR13","doi-asserted-by":"publisher","first-page":"183","DOI":"10.1145\/286936.286957","volume-title":"OOPSLA 1998 - Conference on Object-Oriented Programming Systems, Languages, and Applications. SIGPLAN Notices","author":"G. Bracha","year":"1998","unstructured":"Bracha, G., Odersky, M., Stoutamire, D., Wadler, P.: Making the future safe for the past: Adding genericity to the Java programming language. In: OOPSLA 1998 - Conference on Object-Oriented Programming Systems, Languages, and Applications. SIGPLAN Notices, pp. 183\u2013200. ACM Press, New York (1998)"},{"key":"22_CR14","unstructured":"Bracha, G., Cohen, N., Kemper, C., Marx, S., Odersky, M., Panitz, S.E., Stoutamire, D., Thorup, K., Wadler, P.: Adding Generics to the Java Programming Language: Participant Draft Specification. Technical report, SUN Microsystems Ltd. (2001)"},{"key":"22_CR15","volume-title":"Types and Programming Languages","author":"B.C. Pierce","year":"2002","unstructured":"Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)"},{"key":"22_CR16","unstructured":"Siek, J., Lumsdaine, A.: Concept Checking: Binding Parametric Polymorphism in C++. In: First Workshop on C++ Template Programming, NETOBJECTDAYS 2000 (October 2000)"},{"key":"22_CR17","unstructured":"McNamara, B., Smaragdakis, Y.: Static Interfaces in C++. In: First Workshop on C++ Template Programming, NETOBJECTDAYS 2000 (2000)"},{"key":"22_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"266","DOI":"10.1007\/978-3-540-30175-2_14","volume-title":"Generative Programming and Component Engineering","author":"I. Z\u00f3lyomi","year":"2004","unstructured":"Z\u00f3lyomi, I., Porkol\u00e1b, Z.: Towards a General Template Introspection Library. In: Karsai, G., Visser, E. (eds.) GPCE 2004. LNCS, vol.\u00a03286, pp. 266\u2013282. Springer, Heidelberg (2004)"},{"key":"22_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"118","DOI":"10.1007\/3-540-44800-4_11","volume-title":"Generative and Component-Based Software Engineering","author":"G. Attardi","year":"2001","unstructured":"Attardi, G., Cisternino, A.: Reflection Support by Means of Template Metaprogramming. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol.\u00a02186, pp. 118\u2013127. Springer, Heidelberg (2001)"},{"key":"22_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"266","DOI":"10.1007\/3-540-45429-2_18","volume-title":"Metalevel Architectures and Separation of Crosscutting Concerns","author":"G. Attardi","year":"2001","unstructured":"Attardi, G., Cisternino, A.: Template Metaprogramming an Object Interface to Relational Tables. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol.\u00a02192, p. 266. Springer, Heidelberg (2001)"},{"key":"22_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"39","DOI":"10.1007\/978-3-540-30175-2_3","volume-title":"Generative Programming and Component Engineering","author":"D.R. Smith","year":"2004","unstructured":"Smith, D.R.: A Generative Approach to Aspect-Oriented Programming. In: Karsai, G., Visser, E. (eds.) GPCE 2004. LNCS, vol.\u00a03286, pp. 39\u201354. Springer, Heidelberg (2004)"},{"issue":"3","key":"22_CR22","doi-asserted-by":"publisher","first-page":"402","DOI":"10.1145\/357172.357177","volume":"4","author":"R. Paige","year":"1982","unstructured":"Paige, R., Koenig, S.: Finite Differencing of Computable Expressions. ACM Trans. Program. Lang. Syst.\u00a04(3), 402\u2013454 (1982)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"22_CR23","doi-asserted-by":"publisher","first-page":"23","DOI":"10.1145\/800017.800513","volume-title":"POPL 1984: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages","author":"B.C. Smith","year":"1984","unstructured":"Smith, B.C.: Reflection and semantics in LISP. In: POPL 1984: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, pp. 23\u201335. ACM Press, New York (1984)"},{"key":"22_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-540-45191-4_1","volume-title":"Generic Programming","author":"R. Hinze","year":"2003","unstructured":"Hinze, R., Jeuring, J.: Generic Haskell: Practice and Theory. In: Backhouse, R., Gibbons, J. (eds.) Generic Programming. LNCS, vol.\u00a02793, pp. 1\u201356. Springer, Heidelberg (2003)"},{"key":"22_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"57","DOI":"10.1007\/978-3-540-45191-4_2","volume-title":"Generic Programming","author":"R. Hinze","year":"2003","unstructured":"Hinze, R., Jeuring, J.: Generic Haskell: Applications. In: Backhouse, R., Gibbons, J. (eds.) Generic Programming. LNCS, vol.\u00a02793, pp. 57\u201396. Springer, Heidelberg (2003)"},{"key":"22_CR26","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/1405.001.0001","volume-title":"The Art of the Metaobject Protocol","author":"G. Kiczales","year":"1991","unstructured":"Kiczales, G., des Rivi\u00e8res, J.: The Art of the Metaobject Protocol. MIT Press, Cambridge (1991)"},{"key":"22_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"287","DOI":"10.1007\/978-3-540-39815-8_18","volume-title":"Generative Programming and Component Engineering","author":"D. Dincklage von","year":"2003","unstructured":"von Dincklage, D.: Making Patterns Explicit with Metaprogramming. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol.\u00a02830, pp. 287\u2013306. Springer, Heidelberg (2003)"},{"key":"22_CR28","doi-asserted-by":"publisher","first-page":"203","DOI":"10.1145\/258993.259019","volume-title":"PEPM 1997 - Partial Evaluation and Semantics-Based Program Manipulation. SIPLAN Notices","author":"W. Taha","year":"1997","unstructured":"Taha, W., Sheard, T.: Multi-Stage Programming with Explicit Annotations. In: PEPM 1997 - Partial Evaluation and Semantics-Based Program Manipulation. SIPLAN Notices, pp. 203\u2013217. ACM Press, New York (1997)"},{"key":"22_CR29","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":"22_CR30","unstructured":"Leroy, X., Doligez, D., Garrigue, J., R\u00e9my, D., Vouillon, J.: The Objective Caml system release 3.08 - Documentation and user\u2019s manual. Technical report, Institut National de Recherche en Informatique et en Automatique (2004)"},{"key":"22_CR31","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"168","DOI":"10.1007\/978-3-540-30175-2_9","volume-title":"Generative Programming and Component Engineering","author":"G. Neverov","year":"2004","unstructured":"Neverov, G., Roe, P.: Metaphor: A Multi-stage, Object-Oriented Programming Language. In: Karsai, G., Visser, E. (eds.) GPCE 2004. LNCS, vol.\u00a03286, pp. 168\u2013185. Springer, Heidelberg (2004)"},{"key":"22_CR32","unstructured":"Draheim, D., Lutteroth, C., Weber, G.: An Analytical Comparison of Generative Programming Technologies. Technical Report B-04-02, Institute of Computer Science, Freie Universit\u00e4t Berlin (2004)"}],"container-title":["Lecture Notes in Computer Science","Generative Programming and Component Engineering"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/11561347_22.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,4,27]],"date-time":"2021-04-27T07:13:42Z","timestamp":1619507622000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/11561347_22"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005]]},"ISBN":["9783540291381","9783540319771"],"references-count":32,"URL":"https:\/\/doi.org\/10.1007\/11561347_22","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2005]]}}}