Abstract
Programming language innovation has been hindered by the difficulty of making changes to existing languages. A key source of difficulty is the tyrannical nature of existing approaches to realizing languages -- adding a new language construct means that any tool, document or programmer that works with the language must be prepared to deal with that construct.
A registration-based approach makes it possible to define language constructs that are not tyrannical. They are instead transient -- the program appears to be written using the constructs only so long as a given programmer wants to see it that way. This approach may have the potential to greatly facilitate programming language innovation.
- }}Eclipse Plan. The eclipse project 3.4 plan (final). http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_4.html, May 2008.Google Scholar
- }}Andrew D. Eisenberg and Gregor Kiczales. Expressive programs through presentation extension. In AOSD '07: Proceedings of the 6th international conference on Aspect-oriented software development, pages 73--84, New York, NY, USA, 2007. ACM. ISBN 1-59593-615-7. doi: http://doi.acm.org/10.1145/1218563.1218573. Google Scholar
Digital Library
- }}Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, illustrated edition edition, November 1994. ISBN 0201633612. Google Scholar
Digital Library
- }}Terry Hon and Gregor Kiczales. Fluid AOP Join Point Models. In Proceedings of the AsianWorkshop on Aspect-Oriented Software Development, pages 14--17, 2006.Google Scholar
- }}Mik Kersten and Gail C. Murphy. Mylar: a degree-ofinterest model for IDEs. In AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development, pages 159--168, New York, NY, USA, 2005. ACM. ISBN 1-59593-042-6. doi: http://doi.acm.org/10.1145/ 1052898.1052912. Google Scholar
Digital Library
- }}Mik Kersten and Gail C. Murphy. Using Task Context to Improve Programmer Productivity. In SIGSOFT '06/FSE- 14: Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering, pages 1--11, New York, NY, USA, 2006. ACM. ISBN 1-59593-468-5. doi: http://doi.acm.org/10.1145/1181775.1181777. Google Scholar
Digital Library
- }}Gregor Kiczales. The Art of the Metaobject Protocol. The MIT Press, July 1991. ISBN 0262610744. Google Scholar
Digital Library
- }}Gregor Kiczales, John Lamping, Anurag Menhdhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-oriented programming. In Mehmet Aks¸it and Satoshi Matsuoka, editors, Proceedings European Conference on Object-Oriented Programming, volume 1241, pages 220--242, Berlin, Heidelberg, and New York, 1997. Springer- Verlag.Google Scholar
- }}Eugene Kohlbecker, Daniel P. Friedman, Matthias Felleisen, and Bruce Duba. Hygienic macro expansion. In LFP '86: Proceedings of the 1986 ACM conference on LISP and functional programming, pages 151--161, New York, NY, USA, 1986. ACM. ISBN 0-89791-200-4. doi: http://doi.acm.org/ 10.1145/319838.319859. Google Scholar
Digital Library
- }}Gail C. Murphy and Mik Kersten. Mylyn usage. Personal communication, 2010.Google Scholar
- }}Python range. The python tutorial: The range() function. http://docs.python.org/release/3.0.1/tutorial/controlflow.html# the-range-function, July 2009.Google Scholar
- }}Scheme do. The revised6 report on the algorithmic language scheme: Control structures. http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib-Z-H-6.html#node_chap_5, September 2007.Google Scholar
- }}Charles Simonyi. Intentional programming - innovation in the legacy age. In Presented at IFIP Working G 2.1 meeting, June 1996.Google Scholar
- }}Brian C. Smith. On the Origin of Objects (Bradford Books). The MIT Press, January 1998. ISBN 0262692090.Google Scholar
- }}Brian C. Smith. Procedural reflection in programming languages. PhD thesis, Massachusetts Institute of Technology Dept. of Electrical Engineering and Computer Science, Cambridge, MA., 1982.Google Scholar
- }}Guy Steele. Common Lisp the Language, 2nd edition. Digital Press, 1990. ISBN 1-55558-041-6. Google Scholar
Digital Library
- }}Peri Tarr, Harold Ossher, William Harrison, and Stanley M. Sutton, Jr. N degrees of separation: multi-dimensional separation of concerns. In ICSE '99: Proceedings of the 21st international conference on Software engineering, pages 107--119, New York, NY, USA, 1999. ACM. ISBN 1-58113-074-0. doi: http://doi.acm.org/10.1145/302405.302457. Google Scholar
Digital Library
- }}Peri Tarr, Harold Ossher, and Stanley M. Sutton, Jr. Hyper/jTM: multi-dimensional separation of concerns for javaTM. In ICSE '02: Proceedings of the 24th International Conference on Software Engineering, pages 689--690, New York, NY, USA, 2002. ACM. ISBN 1-58113-472-X. doi: http://doi.acm.org/10.1145/581339.581447. Google Scholar
Digital Library
- }}Nic Volanschi and Christian Rinderknecht. Unparsed patterns: easy user-extensibility of program manipulation tools. In PEPM '08: Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, pages 111--121, New York, NY, USA, 2008. ACM. ISBN 978-1-59593-977-7. doi: http://doi.acm.org/10. 1145/1328408.1328425. Google Scholar
Digital Library
- }}Daniel Weise and Roger Crew. Programmable syntax macros. In PLDI '93: Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, pages 156--165, New York, NY, USA, 1993. ACM. ISBN 0-89791-598-4. doi: http://doi.acm.org/10.1145/ 155090.155105. Google Scholar
Digital Library
- }}E. Van Wyk, O. de Moor, G. Sittampalam, I. Sanabria-Piretti, K. Backhouse, and P. Kwiatkowski. Intentional programming: A host of language features. Technical Report PRG-RR-01- 21, Computing Laboratory, University of Oxford, 2001.Google Scholar
Index Terms
Registration-based language abstractions
Recommendations
Registration-based language abstractions
OOPSLA '10: Proceedings of the ACM international conference on Object oriented programming systems languages and applicationsProgramming language innovation has been hindered by the difficulty of making changes to existing languages. A key source of difficulty is the tyrannical nature of existing approaches to realizing languages -- adding a new language construct means that ...
The Zephyr abstract syntax description language
DSL'97: Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997The Zephyr Abstract Syntax Description Language (ASDL) describes the abstract syntax of compiler intermediate representations (IRs) and other tree-like data structures. Just as the lexical and syntactic structures of programming languages are described ...







Comments