Checked exceptions within Block<T>
ss at comp.lancs.ac.uk
Mon Jan 14 02:37:57 PST 2013
On 12/01/13 17:49, Brian Goetz wrote:
> The available language-based solutions were losers from a
> complexity/value tradeoff. Though there are some alternative solutions
> we are going to continue to explore -- though clearly not for 8 and
> probably not for 9 either.
I can imagine solutions where you provide exception transparency, but
permit it only when some form of serial guarantee is formally made by
the method accepting the functional interface. Will using the same
Stream type for both serial and parallel operations get in the way of
those solutions? Does it make sense to split it into two now, while
disruption can be minimized?
Define SerialStream to extend Stream, having all the same operations
(except returning SerialStream where appropriate), but informally
providing serial guarantees. Later, if it becomes possible to formally
declare a method with serial guarantees, you can fit them to
SerialStream while leaving Stream untouched. Where the guarantees are
made, the compiler can permit the transparencies that those guarantees
allow, including exception transparency.
More information about the lambda-dev