The OI solution
Define two interfaces
- The base interface, which provides the essential semantics
- The meta-interface, which is used to customize aspects of the implementation of the base
Based on experience
- Common Lisp Meta-Object Protocol (CLOS MOP)
- Reflective computing