Streams design strawman

Brian Goetz brian.goetz at
Wed Apr 18 19:49:34 PDT 2012

I've posted a strawman writeup of the key concepts we're thinking about 
for the libraries at:

The design is still rough, and we've started checking in an even rougher 
implementation into the lambda repository.  There are lots of omissions, 
errors, and open questions.  But it is at a point where we've got a 
consistent enough strawman for people to start playing with it, and 
share their experience.

As the document suggests, there are a large number of open issues, and 
we've temporarily ignored these for the purposes of pulling together 
something that captures the basic functionality.  We've deliberately 
deferred addressing many sticky issues including attachment to 
collections, primitive specialization, checked exceptions, infinite 
streams, IO-backed streams, nulls, and of course, naming.

These are all sticky issues, and we'll get to them, but for now, I'd 
like to leave them be for a little while longer, so that we can shake 
out the key functionality first.

What I am asking of the community is: TRY OUT THE CODE.  *The single 
most valuable thing that the community can do to help move this effort 
forward, and improve the quality of the result, is to try out the code 
early and often.*  (A single practical experience report is worth many 
armchair observations and suggestions!)

What's in the lambda repo right now is still a little rough, but within 
the next few days it should be cleaned up enough for people to be able 
to try it out on their code.  We would love it if people could try to 
lambdify some small bit of their code base, and report back on how it 
worked -- whether it worked great, or not.  Also valuable is where you 
got stuck, such as "I had trouble converting this pattern to use the new 

More information about the lambda-dev mailing list