The "objective interface" is what a "Director's Cut" is for a movie: an "object interface" as the author would want it to be. It provides "prototypes" which only roughly resemble their BlitzMax counterpart, but usually offer additional functionality.
All "prototypes" reside in the global table
blitzmax, regardless of the module containing the corresponding BlitzMax type (if such one exists). The interface provides prototype-based differential inheritance together with "virtual slots", i.e., table fields ("slots") which are solely defined by their accessor methods (
setXXX). As a consequence, the access to a slot implicitly invokes the appropriate getter or setter method.
The most obvious difference between the "object interface" and this "objective interface" is the completely different GUI programming model, which has been designed with [TkLua] in mind and fits better to the characteristics of a scripting language than the BlitzMax/MaxGUI approach.
The "objective interface" has not yet been finished but will hopefully be published around May 25th, 2007.