• DocumentCode
    2645846
  • Title

    Language subsetting via reflection and overloading

  • Author

    Lusth, John C. ; Kraft, Nicholas A. ; Tacey, James

  • Author_Institution
    Univ. of Alabama, AL, USA
  • fYear
    2009
  • fDate
    18-21 Oct. 2009
  • Firstpage
    1
  • Lastpage
    6
  • Abstract
    Guy L. Steele Jr., in the paper ¿Growing a Language,¿ makes a strong argument for languages that can be easily extended. Just as importantly, one should be able to shrink a language as well. Two important areas wherein one might wish to restrict language features are education and coding under style guidelines. There are a number of ways to implement restrictions, many of which depend upon reparsing the source code. An alternative approach exists if the language in question has a rich enough set of features for reflection and overloading. If so, these features can be used to detect violations, both dynamically and statically. The latter methodology has the advantage that restrictions are implemented in the very language that is being restricted and do not depend upon parsing source code. This paper explores using overloading and reflection to enforce restrictions in such a way that enforcement is turned on simply by including a library. An example library is developed that is suitable for students taking an introductory programming course.
  • Keywords
    computer science education; programming languages; education; introductory programming course; language subsetting; library; overloading; reflection; Application software; Code standards; Computer languages; Guidelines; Investments; Libraries; Programming profession; Reflection; Software maintenance; Standards organizations; About four; alphabetical order; key words or phrases; separated by commas (for suggestions: Cameraready, FIE format, Preparation of papers Two-column format);
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Frontiers in Education Conference, 2009. FIE '09. 39th IEEE
  • Conference_Location
    San Antonio, TX
  • ISSN
    0190-5848
  • Print_ISBN
    978-1-4244-4715-2
  • Electronic_ISBN
    0190-5848
  • Type

    conf

  • DOI
    10.1109/FIE.2009.5350866
  • Filename
    5350866