Consider introducing another message passing operator (.µ) which sends a
message to an
object’s mirror rather than to the object itself.
obj.µmsg(args) == (reflect: obj).msg(args)
The advantage is that the meta-variant does not require the creation of a
temporary mirror,
which is unnecessary if obj is not a mirage and if the default mirror factory
is installed.
Next to efficiency considerations, the meta-send is also a more concise way of
sending
messages to mirrors.
This kind of mechanism is currently mimicked by means of the @MetaMessage type
tag and
first-class reference mirrors, in the sense that obj<-msg(args)@MetaMessage
sends the
message to obj's mirror. However, this only works for:
- async messages
- objects mirrored by the TEventualRef trait (i.e. objects representing proxies)
Specifically, it does not (yet) work for native far references.
Original issue reported on code.google.com by tvcut...@gmail.com on 16 Sep 2008 at 2:08
Original issue reported on code.google.com by
tvcut...@gmail.com
on 16 Sep 2008 at 2:08