A programmer's guide to object-oriented programming in Common LISP
A programmer's guide to object-oriented programming in Common LISP
Draco: a method for engineering reusable software systems
Software reusability: vol. 1, concepts and models
A denotational semantics of inheritance and its correctness
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
The Computer Journal - Special issue on procedural programming
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Notions of computation and monads
Information and Computation
Action semantics
Composable attribute grammars: support for modularity in translator design and implementation
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Building interpreters by composing monads
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Signatures for a network protocol stack: a systems application of Standard ML
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantic Lego
Object-oriented programming in the BETA programming language
Object-oriented programming in the BETA programming language
Proceedings of the first ACM SIGPLAN international conference on Functional programming
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Adaptive plug-and-play components for evolutionary software development
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Toward a formal theory of extensible software
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A language for specifying recursive traversals of object structures
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns
The Definition of Standard ML
The Java Language Specification
The Java Language Specification
Domain Analysis and Software Systems Modeling
Domain Analysis and Software Systems Modeling
Building Application Generators
IEEE Software
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
Extensible Denotational Language Specifications
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
A Statically Safe Alternative to Virtual Types
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Synthesizing Object-Oriented and Functional Design to Promote Re-Use
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Jam - A Smooth Extension of Java with Mixins
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Transformation in Intentional Programming
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
JTS: Tools for Implementing Domain-Specific Languages
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
A denotational semantics of inheritance
A denotational semantics of inheritance
A theory of mixin modules: basic and derived operators
Mathematical Structures in Computer Science
A modular monadic action semantics
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
True Modules for Java-like Languages
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Hi-index | 0.00 |
Domain-specific programming languages (DSLs) are emerging as an important paradigm for the engineering of large reliable software systems. Modular interpreters are an approach to building off-the-shelf software components that implement fragments of DSLs. We describe an approach to implementing modular interpreters in an object-oriented fashion, using the design pattern of extensible computations. The modular structuring and reuse of DSL implementations has potentially important lessons for object-oriented reuse, because of the highly recursive nature of any non-trivial programming language, and the close semantic relationship between inheritance and recursion.We give paradigmatic examples of the definition of extensible computations in the Java programming language, and consider what extensions would be required for typed object-oriented languages in order to support this approach in a statically type-safe manner.