Introspective

Categoria: Projects
Pubblicato Venerdì, 25 Dicembre 2015 18:40
Scritto da Giampiero Gabbiani
Visite: 3624

Introspective is a C++ framework for runtime object introspection.

Features

Message passing OO

Method triggering is performed through messages (introspective::Message), passed a dispatcher. Entities able to dispatch messages are called receiver (introspective::Message::Receiver). There are basically three types of receivers:
- class: instances of introspective::Class;
- object: instance of introspective::Object;
- proxy: instances og classes defined inside the introspective::proxy namespace;

Object orientation

Opposed to classic OO languages (like C++ or Java) with Introspective also Objects can define, override or hide methods and properties in runtime.

Introspection

Every class or object has the ability to examine its own type, methods and properties in runtime;

Dynamic inheritance

At any time a class (instances of introspective::Class) or objects (instances of introspective::Object) can modify their inheritance hierarchy modifying on the fly their OO behaviour.

Runtime class / object definition

Every class and / or object can change its behaviour by adding / removing properties and methods in runtime.

DSL

by C++ operator overloading the base syntax for a minimal domain specific language has been introduced.

References

Basic concepts