Abstract
If we want domain-specific program generation to form the basis of a strong, long-lived research community, we need to recognize what its potential impact might be and why the promise has not been fulfilled so far. In this chapter, I review my past work on generators and I present a collection of personal opinions on the symptoms convincing me that there is room for improvement in the generators research community. Then I analyze the causes of these symptoms, some of which are inherent, while some others can be overcome. A major cause of difficulty is the inherent domain-specificity of generators that often makes research work be less valuable to other generator writers who are unfamiliar with the domain. I propose directions on what should be considered promising research for the community, what I believe are useful principles for generator design, and what community building measures we can take.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aitken, W., Dickens, B., Kwiatkowski, P., de Moor, O., Richter, D., Simonyi, C.: Transformation in Intentional Programming. In: Devanbu, P., Poulin, J. (eds.) Proc. 5th International Conference on Software Reuse (ICSR 1998), pp. 114–123. IEEE CS Press, Los Alamitos (1998)
Basset, P.: Framing Software Reuse: Lessons from the Real World. Yourdon Press, Prentice Hall (1997)
Batory, D., Lofaso, B., Smaragdakis, Y.: JTS: Tools for Implementing Domain-Specific Languages. In: Devanbu, P., Poulin, J. (eds.) Proc. 5th International Conference on Software Reuse (ICSR 1998), pp. 143–155. IEEE CS Press, Los Alamitos (1998)
Batory, D., Chen, G., Robertson, E., Wang, T.: Design Wizards and Visual Programming Environments for GenVoca Generators. IEEE Transactions on Software Engineering 26(5), 441–452 (2000)
Clinger, W., Rees, J.: Macros that work. In: Eighteenth Annual ACM Symposium on Principles of Programming Languages (PoPL 1991), pp. 155–162. ACM Press, New York (1991)
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Techniques, and Applications. Addison-Wesley, Reading (2000)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, p. 327. Springer, Heidelberg (2001)
Kohlbecker, E., Friedman, D.P., Felleisen, M., Duba, B.: Hygienic macro expansion. In: Gabriel, R.P. (ed.) Proc. ACM SIGPLAN 1986 Conference on Lisp and Functional Programming, pp. 151–161. ACM Press, New York (1986)
McNamara, B., Smaragdakis, Y.: Functional programming in C++. In: Wadler, P. (ed.) Proc. ACM SIGPLAN 5th International Conference on Functional Programming (ICFP 2000), pp. 118–129. ACM Press, New York (2000)
McNamara, B., Smaragdakis, Y.: Functional Programming with the FC++ Library. Journal of Functional Programming (JFP), Cambridge University Press (to appear)
Simonyi, C.: The Death of Computer Languages, the Birth of Intentional Programming. In: NATO Science Committee Conference (1995)
Smaragdakis, Y., Batory, D.: DiSTiL: a Transformation Library for Data Structures. In: Ramming, J.C. (ed.) Conference on Domain-Specific Languages (DSL 1997), pp. 257–269. Usenix Association (1997)
Smaragdakis, Y., Batory, D.: Implementing Reusable Object-Oriented Components. In: Devanbu, P., Poulin, J. (eds.) Proc. 5th International Conference on Software Reuse (ICSR 1998), pp. 36–45. IEEE CS Press, Los Alamitos (1998)
Smaragdakis, Y., Batory, D.: Implementing Layered Designs with Mixin Layers. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 550–570. Springer, Heidelberg (1998)
Smaragdakis, Y., Batory, D.: Application Generators. In: Webster, J.G. (ed.) Encyclopedia of Electrical and Electronics Engineering. John Wiley and Sons, Chichester (2000)
Smaragdakis, Y., Batory, D.: Scoping Constructs for Program Generators. In: Czarnecki, K., Eisenecker, U.W. (eds.) GCSE 1999. LNCS, vol. 1799, pp. 65–78. Springer, Heidelberg (2000)
Smaragdakis, Y., Batory, D.: Mixin Layers: an Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs. ACM Trans. Softw. Eng. and Methodology (TOSEM) 11(2), 215–255 (2002)
Tilevich, E., Urbanski, S., Smaragdakis, Y., Fleury, M.: Aspectizing Server-Side Distribution. In: Proc. 18th IEEE Automated Software Engineering Conference (ASE 2003), pp. 130–141. IEEE CS Press, Los Alamitos (2003)
Veldhuizen, T.: Scientific Computing in Object-Oriented Languages web page, http://www.oonumerics.org/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Smaragdakis, Y. (2004). A Personal Outlook on Generator Research. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds) Domain-Specific Program Generation. Lecture Notes in Computer Science, vol 3016. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25935-0_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-25935-0_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22119-7
Online ISBN: 978-3-540-25935-0
eBook Packages: Springer Book Archive