Concepts and experiments in computational reflection
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
M-LISP: a representation-independent dialect of LISP with reduction semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
CLOS in context: the shape of the design space
Object-oriented programming
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
Reflection and semantics in LISP
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Declarative Reasoning about the Structure of Object-Oriented Systems
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Declaratively Codifying Software Architectures Using Virtual Software Classifications
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Proceedings of the 2004 ACM symposium on Applied computing
Demand-driven type inference with subgoal pruning
Demand-driven type inference with subgoal pruning
ASTLOG: a language for examining abstract syntax trees
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Towards Abstract Interpretation for Recovering Design Information
Electronic Notes in Theoretical Computer Science (ENTCS)
Language-independent detection of object-oriented design patterns
Computer Languages, Systems and Structures
Application-specific models and pointcuts using a logic metalanguage
Computer Languages, Systems and Structures
Linguistic symbiosis between actors and threads
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Symbiosis in logic-based pointcuts over a history of join points
Proceedings of the 2008 ACM symposium on Applied computing
Linguistic symbiosis between event loop actors and threads
Computer Languages, Systems and Structures
Zero-a blend of static typing and dynamic metaprogramming
Computer Languages, Systems and Structures
Safe reflection through polymorphism
Proceedings of the first international workshop on Context-aware software technology and applications
Application-specific models and pointcuts using a logic meta language
ISC'06 Proceedings of the 14th international conference on Advances in smalltalk
Evaluating Java runtime reflection for implementing cross-language method invocations
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Pinocchio: bringing reflection to life with first-class interpreters
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Embedding languages without breaking tools
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Reconciling method overloading and dynamically typed scripting languages
Computer Languages, Systems and Structures
The SOUL tool suite for querying programs in symbiosis with Eclipse
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Distributed class code and data propagation with java
KES'06 Proceedings of the 10th international conference on Knowledge-Based Intelligent Information and Engineering Systems - Volume Part II
LogicObjects: a linguistic symbiosis approach to bring the declarative power of Prolog to Java
Proceedings of the 9th ECOOP Workshop on Reflection, AOP, and Meta-Data for Software Evolution
Bringing Scheme programming to the iPhone—Experience
Software—Practice & Experience
Hi-index | 0.00 |
Meta programming is the act of reasoning about a computational system. For example, a program in Prolog can reason about a program written in Smalltalk. Reflection is a more powerful form of meta programming where the same language is used to reason about, and act upon, itself in a causally connected way. Thus on the one hand we have meta programming that allows different languages or paradigms to be used, but without causal connection, while on the other hand we have reflection that offers causal connection but only for a single language. This paper combines both and presents inter-language reflection that allows one language to reason about and change in a causally connected way another language and vice versa. The fundamental aspects of inter-language reflection and the language symbiosis used therein, are discussed. Moreover the implementation of two symbiotic reflective languages is discussed: Agora/Java and SOUL/Smalltalk.