hg: lambda/lambda/jdk: Remove FlatMapper and relevant flatMap variants; migrate to flatMap(e -> stream)

Marc Petit-Huguenin marc at petit-huguenin.org
Tue Apr 9 16:13:42 PDT 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

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.
> 


- -- 
Marc Petit-Huguenin
Email: marc at petit-huguenin.org
Blog: http://blog.marc.petit-huguenin.org
Profile: http://www.linkedin.com/in/petithug
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJRZKClAAoJECnERZXWan7EY9UP/1yKlbzuSujYl04Exwdwg+Hb
kDLLBF8oIEDArOF1bHf51g6Q/LmCtxkyz+K8S0uIy3QqCM63GJ63ibMGAvQ+2QHu
7ULBy4q9vgxwKdsUXxUHIsN1gPRZb+FmMuzb4inGV8nmaObrGYGCYbudz7iOVvfT
BO4pUtTfXxcWilPDKpU6DOgN7ON6Otth0kZLKNNeFW3d59TeSc3S5Ali9BnY0Rpg
54XGxvnJ53KHpUUs5fXzuzk9rUMwu6r8tTpDHS3t20vv8yVBMLXAhPGtoFkPXOUF
rAbCqS5KTWva/8EzpWM/Ec1Uc2TuQemsdz9HTEOv+eFUlpqCmU7EqnpNwUDWBXJ4
PyvuQUYdeOyU+OS8KOKPrG9L//alihsLeXHSakItJaB0KMVtjX0yB8vYphfVhZPb
Hk8wdtrS6p8JWFl2ZSRHxsyNQgFXiZrQwFEYSKOBHfjZZYJJ+N82C6uQEcKKBLKr
Kp4in1SPJt+OfCs/ie6ldMAbUgJji19Ae/JsARWYTwCbhEyDnwcSxBOzee9iLmCA
eSxgKQsuZ2WoiTwLmW1iWKC58kfRJRiTVZMQNfjuUEuBUmh3AslIlxTakGRRG4DD
Pq5VNpbsDjycF5nQ+ykvbMs3x8QZdgwYFLK8lhUMlkiLbwb54x4+Jm282on9qyzd
MwgvNXqHjqj2KZSdbnoj
=VNmo
-----END PGP SIGNATURE-----


More information about the lambda-dev mailing list