It has been a while since my last post and a last release. So I decided to post a little update on the project status.
At the moment I'm working on introducing a new concept to the language - external role (or ELENA protocol).
As you probably remember a role is an alternative VMT. But I realized that there could be an external one. It can be considered as a short-time mutation as well. The good thing is that unlike a normal mutation (either #annex or #group) it does not introduce any performance overload. As a result I will implement an alternative API (so called API2), located in lib2 (the source code in src2).
So how it will be used? For the programmer there will be nothing new. For example, we've implemented a protocol __address. To use it we have to write the following: anObject1 __address ifequal:anObject2.
anObject1 actually may not know anything about the protocol (though in most cases it should implement some methods to support the protocol).
The next release will contain the first implementation of the protocol concept