> 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