skip to main content
research-article

Registration-based language abstractions

Published:17 October 2010Publication History
Skip Abstract Section

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.

References

  1. }}Eclipse Plan. The eclipse project 3.4 plan (final). http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_4.html, May 2008.Google ScholarGoogle Scholar
  2. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. }}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 ScholarGoogle Scholar
  5. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. }}Gregor Kiczales. The Art of the Metaobject Protocol. The MIT Press, July 1991. ISBN 0262610744. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. }}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 ScholarGoogle Scholar
  9. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. }}Gail C. Murphy and Mik Kersten. Mylyn usage. Personal communication, 2010.Google ScholarGoogle Scholar
  11. }}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 ScholarGoogle Scholar
  12. }}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 ScholarGoogle Scholar
  13. }}Charles Simonyi. Intentional programming - innovation in the legacy age. In Presented at IFIP Working G 2.1 meeting, June 1996.Google ScholarGoogle Scholar
  14. }}Brian C. Smith. On the Origin of Objects (Bradford Books). The MIT Press, January 1998. ISBN 0262692090.Google ScholarGoogle Scholar
  15. }}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 ScholarGoogle Scholar
  16. }}Guy Steele. Common Lisp the Language, 2nd edition. Digital Press, 1990. ISBN 1-55558-041-6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. }}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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. }}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 ScholarGoogle Scholar

Index Terms

  1. Registration-based language abstractions

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 45, Issue 10
        OOPSLA '10
        October 2010
        957 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/1932682
        Issue’s Table of Contents
        • cover image ACM Conferences
          OOPSLA '10: Proceedings of the ACM international conference on Object oriented programming systems languages and applications
          October 2010
          984 pages
          ISBN:9781450302036
          DOI:10.1145/1869459

        Copyright © 2010 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 17 October 2010

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!