Concepts and experiments in computational reflection
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Metaclasses are first class: The ObjVlisp Model
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Common LISP: the language (2nd ed.)
Common LISP: the language (2nd ed.)
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Pattern languages of program design
Macroprocessors and Techniques for Portable Software
Macroprocessors and Techniques for Portable Software
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Smalltalk-80: The Language
Design Patterns and Language Design
Computer
A": A Language for Implementing Language Processors
IEEE Transactions on Software Engineering
The Extensible Java Preprocessor Kit and a Tiny Data-Parallel Java
ISCOPE '97 Proceedings of the Scientific Computing in Object-Oriented Parallel Environments
Macro Processing in Object-Oriented Languages
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Semantically-Sensitive Macroprocessing
Semantically-Sensitive Macroprocessing
Maya: multiple-dispatch syntax extension in Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Reflective Analysis and Design for Adapting Object Run-Time Behavior
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
Supporting Unanticipated Dynamic Adaptation of Application Behaviour
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Testing MetaObject Protocols Generated by Open Compilers for Safety-Critical Systems
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Declarable Modifiers: A Proposal to Increase the Efficacy of Metaclasses
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
ABI compatibility through a customizable language
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
MetaFJig: a meta-circular composition language for Java-like classes
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Growing a language environment with editor libraries
Proceedings of the 10th ACM international conference on Generative programming and component engineering
SugarJ: library-based syntactic language extensibility
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Program transformation with reflection and aspect-oriented programming
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Aspect-Oriented development of crosscutting features in distributed, heterogeneous systems
Transactions on Aspect-Oriented Software Development II
mbeddr: an extensible C-based programming language and IDE for embedded systems
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
A meta-circular language for active libraries
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Language composition untangled
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
Type-directed, whitespace-delimited parsing for embedded DSLs
Proceedings of the First Workshop on the Globalization of Domain Specific Languages
An Analysis of Language-Level Support for Self-Adaptive Software
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Program transformation techniques applied to languages used in high performance computing
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
A framework for extensible languages
Proceedings of the 12th international conference on Generative programming: concepts & experiences
A framework for extensible languages
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Hi-index | 0.00 |
This paper presents OpenJava, which is a macro system that we have developed for Java. With traditional macro systems designed for non object-oriented languages, it is difficult to write a number of macros typical in object-oriented programming since they require the ability to access a logical structure of programs. One of the drawbacks of traditional macro systems is that abstract syntax trees are used for representing source programs. This paper first points out this problem and then shows how OpenJava addresses this problem. A key idea of Open-Java is to use metaobjects, which was originally developed for reflective computing, for representing source programs.