Property-Based Genericity: A Dynamic Approach
Property-based genericity is an object-oriented programming paradigm. It allows to model in a generic way some systems which are hard to represent using classical object-oriented programming. It was introduced by the C++-oriented SCOOP paradigm used in Olena, an image processing library. The key principle of this paradigm is the description of classes in terms of a list of the properties its instances must have, instead of their inheritance trees.par We will present this paradigm and show that it can be extended to other languages than C++ and other fields than image processing. We will then introduce an example implementation of property-based genericity in Common Lisp, which will take advantage of its dynamic capabilities and its extensibility.