"Object instance" expression is introduced instead of objectOf operator.
An object variable can be accessed via both operators, object access operator "->" (to send messages) and data access operator "." (to read state data). To read object state, no explicit dataOf operator required for an object variable, but the operator is implicitly assumed there.
Operator dataOf can be explicitly applied to an object variable to get its state data.
A value variable can be accessed via only data access operator "." to read and write data.
Operator objectOf is replaced by "object instance" expression, which is also a join point. The syntax of the expression looks like a call of constructor in GPL like C#, and the semantic is similar to getting an instance. But in Paml this expression just means that an object is obtained in some way from arguments of the expression. Transformations will define how exactly an object is obtained (create new instance, resolving identifier to reference etc).
An object variable can be declared (with object type) or declared and initialized (with "object instance" expression). The object type can be inferred from "object instance" expression.
Write a comment