Variables in pipelines

Jose jgetino at
Wed Aug 15 13:35:51 PDT 2012

OK thanks,

I was dreaming with a super pipeline that was more than a mere sequence of
operations, maybe nothing from this world.

-----Mensaje original-----
De: Brian Goetz [mailto:brian.goetz at] 
Enviado el: miércoles, 15 de agosto de 2012 21:50
Para: Jose
CC: lambda-dev at
Asunto: Re: Variables in pipelines

One thing you could do here is use "mapped", which is an operation on a
linear stream that produces a MapStream:

   rects.mapped(r1 -> rotate(alpha)) // produces stream of (r1, rotated)
        .tap((r1, r2) -> ...);

Now downstream stages have access to both.

(What you're specifically asking for doesn't really make linguistic sense;
r1 is like a method parameter, which isn't available outside that method's

On 8/15/2012 3:33 PM, Jose wrote:
> Let suppose I want to do some operations in a stream of rectangles: 
> rotate them and finding the intersection of the rotateded rectangles 
> with the original ones:
> Here "tap" refers to the discusion on forEach 
> tml
> The problem is that being r1 a dummy variable, its reference is lost 
> in the next link of the chain.
> It would be possible and desirable to keep the references of the 
> variables inside a pipeline?.
> Maybe you can use BiMapper to keep trace of another variable, but the 
> code would be much more cumbersome.
> Not to say if you want to reuse two o more variables along the pipeline.

More information about the lambda-dev mailing list