hg: lambda/lambda/jdk: Remove FlatMapper and relevant flatMap variants; migrate to flatMap(e -> stream)
marc at petit-huguenin.org
Tue Apr 9 16:13:42 PDT 2013
-----BEGIN PGP SIGNED MESSAGE-----
On 04/09/2013 02:59 PM, Brian Goetz wrote:
>> The minimum I can't absolutely live without is a Turing machine, so don't
>> mind me. It's just that is it the 3rd time that something I really like
>> is removed from the stream API.
> I hope they weren't the only three things you liked.
No, there is more, but I do not want to call attention to them :-)
> For the record, the rationales are:
> 1. Pluggable Op API. It became apparent very early on that this was not
> going to converge within the timeframe needed, and that we were better off
> focusing on the parts that were going to converge. Finishing this and
> including it in Java 9 is a high priority. (By the way, had we committed
> to any of the forms from, say, more than two weeks ago, we would have
> nailed ourselves into a corner but good. So this was clearly the right
> decision, it was just not ready to stabilize.)
Changing stuff, even fundamentally, even late in the game, is fine for me.
What bother me is this increasing feeling of, hmm, claustrophobia when I try
to do something with streams. I had plans for an I/O stream source where some
parts of the pipeline can be removed and pushed closer to the hardware. That
would have been cool.
> 2. MapStream. Again, trying to incorporate streams of different arities
> within the implementation and API was putting so much stress on the design
> that we were unable to move forward at an acceptable rate of progress. By
> removing this as a requirement, we were able to progress much more rapidly
> on the stream APIs we do have. After 8, we will look at whether it is
> possible to restore this functionality.
> 3. FlatMapper. We ran numerous focus groups and hack days, and the
> feedback was universal on "this isn't ready." Better to leave it out than
> get it wrong. As it stood, it was adding a great deal of API surface area
> for something few people could understand and even fewer could justify
> using. If you're one of those few, congratulations -- you're not the
> target audience :)
> Our goal has been to get what we deliver right, rather than deliver a bunch
> of stuff, some of which is right. Sometimes that means a favorite feature
> is deemed not ready for prime time.
Email: marc at petit-huguenin.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
-----END PGP SIGNATURE-----
More information about the lambda-dev