Andrea Quadri
Notes for Masterworks-papers
Language Boxes
Goal: not to be restrictet to one DSL while not loosing the development tools.
Host and context specific language
polyglot = Mehrsprachig
Dynamic Adaptation
Language Constructs for Contextoriented Programming
Goal: Avoid having to spread contextdependent behavior throughout a program
Layers for partial class and methods
root layer
each layer has a name
dynamically scoped layer activation obeys a stack-like discipline
Meta-Objects
Mirrors: Design Principles for Meta-level Facilities of Object-Oriented Programming Languages
Goal: Meta-level functionality should be implemented separately from base-level functionality, using objects known as mirrors
Design principles for meta-level facilities in object oriented programming languages:
- Encapsulation. Meta-level facilities must encapsulate their implementation.
- Stratification. Meta-level facilities must be separated from base-level functionality
- Ontological Correspondence. The ontology of metalevel facilities should correspond to the ontology of the language they manipulate.
Subjectivity
Subjective Behavior: a General Dynamic Method Dispatch
- Subjectivity
- multi-methods
- context awareness
- method dispatching
- reflection.
Benefit: Dynamic Interface Adaptatio, Dynamic Message Visibility and Dynamic Decision Learning:
Other literature
The Paradigms of Programming
Goal: methodological abstraction
- structured programming
- dynamic programming
- recursive coroutines
"If the advancement of the general art of programming requires the continuing invention and elaboration of paradigms, advancement of the art of the individual programmer requires that he expand his repertory of paradigms."