ABSTRACT
We report on our ongoing research of an object-oriented language for a metaprogramming framework called Turbine. The paper describes structural elements of models, their relations and intended patterns of usage and then presents an object-oriented language we've developed specifically for the Turbine framework ("base language"). We also demonstrate usage of base language constructs on examples of the modular behavior extension for the set of AST classes.
- Appeltauer, M., Hirschfeld, R., Haupt, M., Lincke, J., Perscheid, M. A Comparison of Context-Oriented Programming Languages. International Workshop on Context-Oriented Programming, COP'09, Article No. 6. ISBN: 978-1-60558-538-3 Google ScholarDigital Library
- Gilad Bracha, et al. Modules as Objects in Newspeak. Proceedings of the 24th European Conference on Object Oriented Programming, Maribor, Slovenia, June 21--25, 2010. Google ScholarDigital Library
- Chambers, C. The Diesel Language: Specification and Rationale, Version 0.2, Draft. University of Washington, January, 2006. http://www.cs.washington.edu/research/projects/cecil/www/Release/doc-diesel-lang/diesel-spec.pdfGoogle Scholar
- Clark, A., Sammut, P., Willans, J. Superlanguages. Developing Languages and Applications with XMF, 2008. http://itcentre.tvu.ac.uk/~clark/Papers/Superlanguages.pdfGoogle Scholar
- Clark, A., Sammut, P., Willans, J. Applied Metamodeling. A Foundation for Language Driven Development (Second Edition), 2008. http://itcentre.tvu.ac.uk/~clark/docs/Applied%20Metamodelling%20%28Second%20Edition%29.pdfGoogle Scholar
- Clifton, C., Millstein, T., Leavens, G. T., Chambers, C. MultiJava: Design rationale, compiler implementation, and applications. ACM Transactions on Programming Languages and Systems, Volume 28, Issue 3, May 2006, pp. 517--575. ISSN: 0164-0925 Google ScholarDigital Library
- Litvinov, V. Constraint-Bounded Polymorphism: An Expressive and Practical Type System for Object-Oriented Languages. Doctoral Dissertation. University of Washington, 2003 ftp://ftp.cs.washington.edu/pub/chambers/vass-thesis.pdf Google ScholarDigital Library
- Odersky, M. The Scala Language Specification, Version 2.8, Draft, November 9, 2010. http://www.scala-lang.org/docu/files/ScalaReference.pdfGoogle Scholar
- Sedunov, A. A. Attachable Traits in Java: Language Extension and Application Areas. Proceedings of Voronezh State University, Series: Systems Analysis and Information Technologies, Volume 1, 2010, pp. 99--108. ISSN 0234-5439Google Scholar
- Sedunov, A. A. Mathematical Model of Metaprogramming System Kernel. Proceedings of Voronezh State University, Series: Systems Analysis and Information Technologies, Volume 1, 2011 {journal publication is pending}.Google Scholar
- Steimann, F. The Paradoxical Success of Aspect-Oriented Programming. Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, OOPSLA'06, pp. 481--497. ISBN: 1-59593-348-4 Google ScholarDigital Library
- XMF Framework http://itcentre.tvu.ac.uk/~clark/xmf.htmlGoogle Scholar
- Whole Platform http://whole.sourceforge.orgGoogle Scholar
- JetBrains Meta Programming System http://www.ietbrains.com/mps/Google Scholar
Index Terms
- An approach to modular object-oriented programming in language-driven development framework
Recommendations
Multiparadigm programming in object-oriented languages: current research report on the workshop MPOOL'07 at ECOOP 2007
ECOOP'07: Proceedings of the 2007 conference on Object-oriented technologyWhile OO has become ubiquitously employed for design, implementation, and even conceptualization, many practitioners recognize the concomitant need for other programming paradigms according to problem domain. Nevertheless, the choice of a programming ...
A bootstrapping infrastructure to build and extend Pharo-like languages
Onward! 2015: 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!)Bootstrapping is well known in the context of compilers, where a bootstrapped compiler can compile its own source code. Bootstrapping is a beneficial engineering practice because it raises the level of abstraction of a program making it easier to ...
Comments