Hi Yoav, Thanks for your clarification, I missed out the initialization requirement.
Jeeva P. > Re: [X10-users] async at (here) and at (here) async > Yoav Zibin > Fri, 06 May 2011 15:44:15 -0700 > > Please read carefully what I wrote: > ... it must be *initialized *and declared final. > > You cannot just insert "at (here)" anywhere you want - the compiler doesn't > treat "here" as a constant - so it assumes there might be a place shift as > if you had written "at (...)". > > On Fri, May 6, 2011 at 2:08 PM, Jeeva Paudel <je...@ualberta.ca> wrote: > > > But, f1 and f2 are already declared as val. So, there should not be problem > > in accessing them. > > > > Further, both the async statements just make it explicit what is already > > implicit. > > > > async { f1 = fib(n-1); } implicitly means that async activity is created > > here, where the root activity resides, and the enclosed statement is also > > executed here. > > > > The statements at (here) async { f1 = fib(n-1); } and async at (here) {fi > > = fib(n-1); } must also start new activity here and execute the enclosed > > statement in the current place, i.e., here. > > > > So, shouldn't all these three forms be correct? > > > > Jeeva P. > > Re: [X10-users] async at (here) and at (here) async > > Yoav Zibin > > Fri, 06 May 2011 10:22:37 -0700 > > > > > > This is a bug. > > > > In the upcoming 2.2 release both attempts will fail with the error: > > > > Local variable is accessed at a different place, and therefore it must be > > initialized and declared final. > > > > > > So you cannot access a local variable in a different place unless it is > > initialized and "val". > > > > > > In 2.3 there will be a new construct called "athome" that will allow you to > > initialize a local at a remote place by going back to the original place. > > > > > > > > On Thu, May 5, 2011 at 11:45 PM, Jeeva Paudel <je...@ualberta.ca> wrote: > > > > > Hi all, > > > > > > This is in reference to the Fibonacci example available at > > > http://dist.codehaus.org/x10/applications/samples/Fib.x10 > > > > > > Although async at != at async always, but shouldn't the following two > > > versions of async produce similar effect? > > > > > > at (here) async { f1 = fib(n-1); } must start a new activity > > located > > > here and executing S > > > > > > async at (here) {fi = fib(n-1); } must also start a new activity > > > here and execute S here as well. > > > > > > Aren't both the same and should compile correctly when the program > > > compiles correctly with async { f1 = fib(n-1)} ? However, the compiler > > > reports this error : "f1" may not have been initialized > > > > > > > > > Thanks, > > > Jeeva P. > > ------------------------------------------------------------------------------ WhatsUp Gold - Download Free Network Management Software The most intuitive, comprehensive, and cost-effective network management toolset available today. Delivers lowest initial acquisition cost and overall TCO of any competing solution. http://p.sf.net/sfu/whatsupgold-sd _______________________________________________ X10-users mailing list X10-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/x10-users