Hi Mark, I’m going to loop in the swift-dev list for this question.
- Tony > On Jan 4, 2016, at 5:15 AM, Mark Aron Szulyovszky via swift-corelibs-dev > <swift-corelibs-dev@swift.org> wrote: > > Hi, > > I came across hit issue while chaining filter() and prefix() on lazy > sequences: > https://bugs.swift.org/browse/SR-461 <https://bugs.swift.org/browse/SR-461> > > And started wondering if it would be more consistent if > lazy.filter().prefix() returned a custom LazySequenceType<Generator.Element> > instead of Slice<LazyFilterCollection<Range<Generator.Element>>>. > > That way lazy.filter().prefix() could be used to chain pure lazy operations, > which can be actually quite useful in some cases. > > I understand that this has implications, and it would make prefix() less > consistent in terms of return type, but it would eliminate confusion like > SR-461 <https://bugs.swift.org/browse/SR-461>. > Also, this wouldn't be a much different than how how lazy.filter() is > implemented, since it also returns a custom LazySequenceType instead of > SequenceType. > > Has this been considered before? Would there be any cases where this would > create unintended side effects? > As far as I see, it wouldn't change the meaning of prefix(), only would it > extend its usefulness. > > I submitted a PR to the SwiftSequence library that demonstrates the > implementation of this: > https://github.com/itchingpixels/SwiftSequence/commit/26101e5aec6c266048bbad4db7b44b9c453f07ca > > <https://github.com/itchingpixels/SwiftSequence/commit/26101e5aec6c266048bbad4db7b44b9c453f07ca> > > And I'm happy to contribute to contribute it to stdlib if people find it > useful. > > Thanks a lot! > > Mark > _______________________________________________ > swift-corelibs-dev mailing list > swift-corelibs-dev@swift.org > https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
_______________________________________________ swift-corelibs-dev mailing list swift-corelibs-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-corelibs-dev