On Tue, 9 Feb 2010, Andreas Raab wrote:
Colin Putney wrote:
Also, Stephen Pair posted an implementation here in December: http://n4.nabble.com/ANN-CoroutineReadStream-tt963004.html#a963004
Brilliant! That's the ticket! Once I got down the right path it's even simpler than that. I put a version of Generator into the inbox for people to play with and give feedback. With 5 methods total you get to do fun stuff like:
| gen max | max := 10000000. gen := Generator on:[:yield| Integer primesUpTo: max do: yield]. 'Computing primes' displayProgressAt: Sensor cursorPoint from: 1 to: max during:[:bar| | prime | [prime := gen next] whileNotNil:[bar value: prime]. ].
I think we should add support for Generators. They are so incredibly useful where you have complex operations that you don't want to spend the upfront effort on to compute everything (like primes) before you can do some work with the results.
I wonder how can you use generators to generate primes efficiently _and_ on the fly.
Levente
Cheers,
- Andreas