Only code blocks using "wait", "!" and "<-" (called Monadic Primitive) is 
compiled into such a complicated and "slow" form.

在 2012年4月27日星期五UTC+8上午1时22分03秒,Jann Horn写道:
>
> On Thu, Apr 26, 2012 at 05:34:33AM -0700, Belleve Invis wrote: 
> > Functions using *wait*, *!* and *<-* are specially compiled. 
> > 
> >    1. function F1$_(){ 
> >    2. var randPrintNums$; 
> >    3. randPrintNums$ = async$({build:function(SCHEMATA$_){return 
> >    function(n$){ 
> >    4. var T1$_, T8$_, T9$_; 
> >    5. var i$, tasks$; 
> >    6. function block_T2(T2$_){ 
> >    7. tasks$ = []; 
> >    8. for(((i$ = 0), (T1$_ = n$)); i$ < T1$_; (i$ = i$ + 1)){ 
> >    9. (function F3$_(){ 
> >    10. var index$; 
> >    11. index$ = i$; 
> >    12. return tasks$.push(async$({build:function(SCHEMATA$_){return 
> >    function(){ 
> >    13. var T4$_, T5$_; 
> >    14. function block_T3(T3$_){ 
> >    15. T4$_ = (sleep$); 
> >    16. T5$_ = ((100 * Math$.random())); 
> >    17. return SCHEMATA$_.yield(T4$_(T5$_,block_T6)); 
> >    18. }; 
> >    19. function block_T6(T6$_){ 
> >    20. T6$_; 
> >    21. trace$(index$); 
> >    22. return SCHEMATA$_["return"](); 
> >    23. }; 
> >    24. return block_T3; 
> >    25. }}})); 
> >    26. }()); 
> >    27. }; 
> >    28. T8$_ = (join$); 
> >    29. T9$_ = (tasks$); 
> >    30. return SCHEMATA$_.yield(T8$_(T9$_,block_Ta)); 
> >    31. }; 
> >    32. function block_Ta(Ta$_){ 
> >    33. Ta$_; 
> >    34. return SCHEMATA$_["return"](); 
> >    35. }; 
> >    36. return block_T2; 
> >    37. }}}); 
> >    38. randPrintNums$(100); 
> >    39. } 
> > 
> > 
> > 在 2012年4月26日星期四UTC+8下午8时32分50秒,Oliver Leics写道: 
> > > 
> > > On Thu, Apr 26, 2012 at 2:27 PM, Belleve Invis <[email protected]> 
> > > wrote: 
> > > > Code Example 
> > > > 
> > > > def async randPrintNums(n): 
> > > >     def tasks = [] 
> > > >     for(var i in 0..n) 
> > > >         tasks.push async :> 
> > > >             wait sleep (100 * Math.random()) 
> > > >             trace index 
> > > >         where index = i 
> > > >     wait join tasks 
> > > > 
> > > > randPrintNums 100 
>
> That looks like it's going to be pretty slow... is that an issue or isn't 
> it as bad as it looks? 
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to