occam pi has/had mobile channels, where data pointed to by the pointer 
that's implicitly sent over the channel will fall out of scope in the 
sender side. I don't even think that data is converted to a const, the data 
won't exist anymore. The language takes care of this.

Sending a pointer across without such a mechanism is rather risky, isn't it 
- of one doesn't introduce a "taken" return message and all parties respect 
it. If not, is it avoidable to insert data state and eventual polling? 

Øyvind

fredag 8. april 2011 22.13.44 UTC+2 skrev Ian Lance Taylor følgende:
>
> siddarth shankar <sith.dart...@gmail.com <javascript:>> writes:
>
> > The reason I asked if it is discouraged is because of the absence of a
> > const-style type-constraint.
> >
> > In that case there won't be an error thrown if the code on the
> > subscriber-side modifies the data passed as a pointer(library design
> > for instance)
>
> That is true.
>
> > Could the compiler do this optimization if it knows that the data sent
> > is not modified?
> > This could help the GC a lot..
> > Or would that lead to too much automagic-code/over-engineering?
>
> The compiler could do that in principle in some cases, but I think the
> context would be so limited that it's unlikely that this optimization
> would ever be implemented.  It could only be done if all the relevant
> code were in the same package.  The compiler would have to be able to
> prove that it could see all possible sends and receives on the channel
> in question.  Without thinking about it too hard, I suspect that there
> would be many cases where it would seem that the optimization would
> apply but where the compiler could not quite prove that it would apply.
>
> Ian
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to