> Here are the notes from the meeting when this was discussed: 
https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-01/jan-31.md#comprehensionsgenerator-syntax

Ahh, thanks for the clarification.  So, hopefully correct this time, the 
previous example should have really been:

[for (url of getURLs()) xhrGet(url)]

?

On Tuesday, July 16, 2013 7:38:56 PM UTC-4, Rick Waldron wrote:
>
>
>
>
> On Tue, Jul 16, 2013 at 9:13 AM, jmar777 <[email protected] 
> <javascript:>>wrote:
>
>> > That for...of syntax is very nice, is it an official part of ECMAScript 
>> 6?
>>
>> Yes, although it's not implemented in V8 just yet.  Once for-of and 
>> generator-expressions are implemented, a lot of these operations will 
>> become a lot nicer at the language level (rather than relying on cludgy 
>> `suspend.map()` or whatever helpers).
>>
>> Here's an example from the ES6 Wiki [1]:
>>
>>     (xhrGet(url) for (url of getURLs())) // hawt
>>
>> [1] http://wiki.ecmascript.org/doku.php?id=harmony:generator_expressions
>>
>
> Caution!!!
>
> *"This proposal has progressed to the Draft ECMAScript 6 Specification, 
> which is available for review here: specification_drafts. Any new issues 
> relating to them should be filed as bugs at http://bugs.ecmascript.org. 
> The content on this page is for historic record only and may no longer 
> reflect the current state of the feature described within"*
>  
> I added this to every wiki proposal that is now in the spec—in this case, 
> the generator expression syntax is backwards!
>
> In the spec draft...
>
> GeneratorComprehension : 
>   ( Comprehension )
>
>
> And Comprehension is defined in ArrayComprehension
>
> Comprehension : 
>   ComprehensionFor ComprehensionQualifierTail
>
> ComprehensionQualifierTail : 
>   AssignmentExpression
>   ComprehensionQualifier ComprehensionQualifierTail
>
> ComprehensionQualifier : 
>   ComprehensionFor
>   ComprehensionIf 
>
> ComprehensionFor :
>   for (ForBinding of AssignmentExpression ) 
>
> ComprehensionIf :
>   if ( AssignmentExpression )
>
>  
> ForBinding : 
>   BindingIdentifier
>   BindingPattern
>
>
> Here are the notes from the meeting when this was discussed: 
> https://github.com/rwldrn/tc39-notes/blob/master/es6/2013-01/jan-31.md#comprehensionsgenerator-syntax
>
>
> Rick
>
>
>
>
>> On Tuesday, July 16, 2013 2:36:44 AM UTC-4, cpprototypes wrote:
>>>
>>> The code sample I posted was a simplified example to demonstrate the 
>>> issue.  The actual command line script I was working on uses the response 
>>> from the get request for other things.  That for...of syntax is very nice, 
>>> is it an official part of ECMAScript 6?
>>>
>>>
>>> On Friday, July 12, 2013 2:47:28 PM UTC-7, cpprototypes wrote:
>>>>
>>>> I'm using node 0.11.3 with --harmony-generators to try the new feature. 
>>>>  I found two libraries that should help use existing node callback-based 
>>>> code with generators (suspend and galaxy).  The code I'm trying to run was 
>>>> similar to the following:
>>>>
>>>> (using suspend)
>>>>
>>>> var fs = require('fs');
>>>> var request = require('request');
>>>>
>>>> suspend(function* (resume) {
>>>>     var contents = yield fs.readFile('idList.json', 'utf8', resume);
>>>>     contents.split('\n').forEach(**function(id) {
>>>>         var info = yield 
>>>> request.get('http://www.**example.com?id='+id<http://www.example.com?id='+id>,
>>>>  
>>>> resume);
>>>>     });
>>>> })();
>>>>
>>>> (using galaxy)
>>>>
>>>> var galaxy = require('galaxy');
>>>> var fs = galaxy.star(require('fs'));
>>>> var request = galaxy.star(require('request')**);
>>>>
>>>> function* main() {
>>>>     var contents = yield fs.readFile('idList.json', 'utf8');
>>>>     contents.split('\n').forEach(**function(id) {
>>>>         var info = yield 
>>>> request.get('http://www.**example.com?id='+id<http://www.example.com?id='+id>
>>>> );
>>>>     });
>>>> };
>>>>
>>>> galaxy.unstar(main)(function(**err, result) {
>>>>     console.log('done');
>>>> });
>>>>
>>>> Using either library, when node tries to execute the get request ("var 
>>>> info = yield request.get...") it exits with the following error:
>>>>
>>>> SyntaxError: Unexpected identifier
>>>>
>>>> And the error highlights the "request" part in "var info = yield 
>>>> request.get..."  I'm guessing that the creation of the new function scope 
>>>> in the forEach is somehow causing an issue.  But I'm not sure why it's not 
>>>> working.  
>>>>
>>>>
>>>>  -- 
>> -- 
>> 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]<javascript:>
>> To unsubscribe from this group, send email to
>> [email protected] <javascript:>
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>  
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>

-- 
-- 
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

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to