First draft of translation document
Brian Goetz
brian.goetz at oracle.com
Thu May 20 08:40:52 PDT 2010
> Reasoning about this for the VM gets a lot easier if the VM knows for
> sure that the closure will not escape from its current stack frame. In
> other words, in code like this:
>
> list.filter(#(Person p) (p.age() < 20));
>
> assuming for a moment that filter is 'eager', that closure won't escape.
There's a bigger assumption here: that filter is explicitly sequential. But
I'd like it if filter() had the option to do the filtering in parallel in a
fork-join pool! Simplifying library-based parallelism was one of the explicit
goals for this effort.
In any case this is the easy case, a "type 1". Here, the closure is a "pure
function" so all sorts of good things can happen.
More information about the lambda-dev
mailing list