on Thu Jun 30 2016, Russ Bishop <xenadu-AT-gmail.com> wrote: >> On Jun 30, 2016, at 10:26 AM, Dave Abrahams via swift-evolution >> <[email protected]> wrote: >> >> It would >> be very interesting to know about any real-world models of single-pass >> sequences that people are using in Swift, since we don't supply any in >> the standard library. >> >> -- >> Dave > > I already gave an example of this earlier in the thread:
Yes, I remember that one. It's not that I believe these things don't exist at all; I'm trying to get a read on how important it is that they fit into the standard library's protocol framework. For that, I need to know if they are very common. >>> I use it in a LazyRowSequence<T: SqlModelConvertible> where >>> querying Sqlite in WAL mode allows multiple concurrent readers to >>> get point-in-time snapshots of the database. The query can’t be >>> replayed without buffering all the rows in memory because Sqlite’s >>> step functions are not bi-directional. In some cases we are talking >>> about tens of thousands of rows (or even hundreds of thousands) and >>> the ability to avoid buffering them is a feature, not a bug. > > IMHO the typical case for single-pass is IO. Yes. Also, truly-random number generators. > In this case it would work just as well as LazyRowIterator<T> assuming > the language allows for-in on an iterator. So, you're not interested in using algorithms like map and filter on these things? If it was just about for-in, we could say you can for-in over any instance of ()->T? for example. -- Dave _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
