> On Dec 29, 2015, at 4:29 PM, Craig Cruden <ccru...@novafore.com> wrote:
> 
>> Could you define what you mean by “stream support?”  Whatever it is, I doubt 
>> simply adding an infinitely-repeating sequence type is enough to get you 
>> there.
> 
> 
> I can guess — but it is only a guess.  
> 
> A function defines an infinite “set” of values (like the digits of pi).  A 
> stream is just a special type of traversable (lazy) which does not evaluate 
> until asked for the next in a sequence of the set.  A function defined in a 
> stream will thus only continue calculating next digits when asked for them.  
> Similarly you could have a collection (head/tail) and you ask for the head 
> and you get it, but the rest (tail) is just the tail as a whole and none of 
> the values in it are really defined until you traverse down to the next head 
> of the rest of the tail.  Once it is evaluated it is stored in memory for 
> future evaluations.  If you were to fully evaluate the function it would 
> never finish, and if it were to finish — you would probably run out of memory.

Yes, I understand the usual concept of a “stream," but it doesn’t help me 
understand what  stream *support* entails.

-Dave

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to