Renaming Stream.subStream(int) to Stream.skip(int)

Joe Bowbeer joe.bowbeer at
Sun Oct 6 00:05:57 PDT 2013

More arguments not to rename:

1. The InputStream.skip(n) that Java programmers are familiar with is an
eager consumer, where subStream(n) is a lazy view, more like subList.

2. Shouldn't both subStream-like methods have similar names?

On Sat, Oct 5, 2013 at 10:48 PM, David Holmes <david.holmes at>wrote:

> On 4/10/2013 8:02 AM, Mike Duigou wrote:
>> Hello all;
>> A bit of feedback from the recent JavaOne hands-on-lab is that people
>> have trouble finding the correct API to skip entries. The
>> Stream.limit(count) operation and Stream.subStream(from,to) are easily
>> found but new users fail to find the Stream.subStream(from) operation. One
>> suggestion has been to rename the Stream.subStream(from) to
>> Stream.skip(count).
>> The docs for Stream.subStream() also be updated to say something similar
>> to "**from,to) produces the same set of
>> elements in the same encounter order as**
>> limit(to-from)".
> My suspicion is that people are taking their I/O stream knowledge and
> trying to map that to general Streams, hence looking for a "skip"
> operation. I can't convince myself that this is worthwhile changing given
> that it really produces a substream. Plus the I/O usage can be somewhat
> different as you often decide what to skip based on what has already been
> read, but with streams that won't be the case.
> David
>  I will go ahead with a renaming patch on Monday unless there objections.
>> Any counter proposals should be *very* narrow in scope--we're past the
>> point were we can do redesign.
>> Mike
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the lambda-libs-spec-experts mailing list