Hey koriolis, can you tell us more about the OOP + Reflection?
Quickly: OOP extension adds methods and inheritance in a similar way as BlitzMax.
Reflection lets you discover at runtime which types are loaded in the script, which are their fields, and to read/write them. With just a "type handle" you can present to the user the list of the fields of a given object, and let him edit them.
Another thing koriolis, how would you go about saving script states, i can save everything from the host apps types but what about new user types, would they be required to do it?
There is also a serialization extension that makes it mostly automatic (even handling cycles in the objects graph). By overriding a specific method you can even specialize the serialization for a given type. In BVM 1 you'll have to do it manually. A logical solution would be to have the script (and not the host app) fire the serialization. Expose functions to serialize host app function in a file. The script will call these function whhen serializing the host app, and it will handle the serialization of the script types itself. Hope that helps.
See you later, dunno when I'll connect again.