Optional require(s) NonNull
luolong at gmail.com
Wed Oct 31 02:12:39 PDT 2012
I am sorry if this discussion has degenerated into politics and
fingerpointing. This has not been my intent.
While I understand and respect Brian's point of view I respectfully beg to
disagree with his conclusions on "crippling" this potentially very useful
The implementation of monadic features of Option are in no way dependent on
deeper language support for monadic operations (e.g. the <- operator). It
has proven itself quite useful even without syntactic support for
function/method literals and any other supporting library & language
features (YMMV of course, but that is just that - a difference of opinion).
The thing with Optional is that it is not at all that complex
pattern/structure to implement and just few very simple additions can make
profound difference in both, how it is perceived by "vocal minority" (as
you put it) and the overall usefulness of the feature, it is maybe just too
difficult to understand your reasoning for omitting those features.
Brian, you talk about that you and your team has thought it out and
discussed it and current design center is deliberate, would you be so kind
as to expand on these reasonings - what is the intended design goal/center
of Optional implementatin and why the features like flatMap fall outside of
More information about the lambda-dev