Static methods on Stream and friends

Brian Goetz brian.goetz at
Mon May 6 06:07:47 PDT 2013

> Now in b88, Streams contains only concat and zip, which seems odd.
>   Isn't there more for Streams to do?  Or is Streams going away?

And this was my next question.

There's a lot of package-private code, but at this point, no other 
public entry points.

With static methods in interfaces, a lot of code that used to go in Foos 
can now go in Foo.  But I think it is definitely possible to take this 
too far (think of the 5000 LoC currently in Collections; would we want 
to move it *all* to the various Collection interfaces?)

Still, concat() has a decidedly different flavor to the other Stream 
methods; all the other stream methods take stateless (and therefore 
reusable) behavioral descriptions of how to produce transform a stream, 
whereas concat() takes another *stream*, which will be consumed in the 

So my inclination would be, if we keep these methods, to leave them in 

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