Multiparadigm programming integrates different programming perspectives in order to simultaneously utilize concepts and mechanisms related to alternative programming paradigms. The different programming paradigms (the main ones being procedural, object-oriented, functional, and logic) are considered to be complementary rather than conflicting computational models. The constructive goals are to develop a general uniform implementation model for multiple paradigms and to produce software (a class library) to implement this model. The implementation approach is based on meta-programming methodology in which a reflective object-oriented architecture is extended by redefining and specializing meta objects. This software addresses traditional translation issues (such as scanning, parsing, semantic analysis, and code generation) but also special problems related to class hierarchies (inheritance), dynamic and static polymorphism (generics), and higher-order values. The implementation is done in C++.
Publications: [36].