Mikeal, it seems this could be solved by a naming convention. Any library call that uses generators could start with async, like asyncDoit, or more reasonably, some convention like ending with a dollar sign: doIt$.
On Mon, Aug 5, 2013 at 4:26 PM, Mikeal Rogers <mikeal.rog...@gmail.com>wrote: > > On Aug 5, 2013, at 4:16PM, Jake Verbaten <rayn...@gmail.com> wrote: > > The only confusion is knowing whether your using generators for async > flow control or whether your using them to generate iterators you iterate > over. > Once you learn to only use the first type in synchronous fashion and > only use the second type in an asynchronous fashion the confusion goes away. > > > This is *exactly* what I'm worried about. > > I'm trying to think about this not in the context of "all the code I > write" but "all the code i use, and what they use, and what they use". > > If yield becomes a successful pattern a library user won't be aware of all > the dependent generators it has, just like very few people are aware of > their dependencies dependencies dependencies. Yet somehow all of the actors > along this chain have to be sure they didn't use generators one way when I > want to use them another way. > > This is very concerning. Patterns should enforce or at the very least > visibly display the compatibility they offer so that actors can coordinate > without active collaboration, this sounds like it depends on a bunch of > people all agreeing about how their API should be used without any visible > indicator stating such. > > One of two things will happen: > > * Most iterators will be used for async which means that very few people > will write them in a way that i'm worry about > OR > * Most iterators won't be use for async which means mixing up the two > cases will end in bugs *only* visible at scale. > > -Mikeal > > -- > -- > 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 nodejs@googlegroups.com > To unsubscribe from this group, send email to > nodejs+unsubscr...@googlegroups.com > 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 nodejs+unsubscr...@googlegroups.com. > 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 nodejs@googlegroups.com To unsubscribe from this group, send email to nodejs+unsubscr...@googlegroups.com 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 nodejs+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.