I assume that everything works ok now.
I chose to do the syntax for the handles as I did since I think it is more consistent. It was a consious choice to go against the syntax of pointers in C++. Basically an object handle behaves the exact same way as the real object until you explicitly tell the compiler you wish to do a handle operation. This means that:
obj o;obj@ h;h = @o;
Would try to assign the handle of o to the object that h refers to.
Also, with this way of working with the handles, there is no need for a dereferencing operator (*), not the indirect member access operator (->).
Still, I'm currently making the compiler do implicit conversion to handles where it doesn't lead to ambiguities. For example:
@h = @o;h = @o;@h = o;
All these three statements will work, and will have the exact same effect.
Passing parameters by handle will be equally easy. No longer will there be a need to add the @ before the argument to pass it's handle, the compiler will implicitly do it for you.
I will have this completed for 2.2.0 WIP 2.
Regards,
Andreas