newbiettn / ambienttalk

Automatically exported from code.google.com/p/ambienttalk
0 stars 0 forks source link

Meta-send (send-to-mirror) #21

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
General consensus is that @MetaMessage is good enough(tm).

Original comment by Botje.linux@gmail.com on 24 May 2013 at 1:35