Loose ends: Optional
joe.bowbeer at gmail.com
Mon Jun 3 19:54:20 PDT 2013
To be clear: I'm just asking questions because I don't have a well-formed
Without the extra methods, the Java8 Optional is similar to Guava's.
Fugue's Option is a more Scala-like replacement. There are a few succinct
arguments in favor of the extra methods, such as those posted by Jed
Wesley-Smith (Fugue) and Ben Hutchison (
I would love to hear the Guava designers respond to Ben's charge of
willful ignorance(!). I'm also wondering if the new methods added in more
recent versions of Guava are addressing these deficiencies.
But, alas, I haven't had enough experience with Guava's Optional to form an
opinion and I've had no experience with Fugue. I have had experience with
Scala's Option and it seems to work pretty well, but we decided earlier to
opt for a more limited approach.
For at least one of the few use cases cited in favor of the extra methods,
the Elvis operator produces the most readable results... Is Elvis an
On Mon, Jun 3, 2013 at 5:44 PM, Joe Bowbeer <joe.bowbeer at gmail.com> wrote:
> Fugue's Option adds the controversial methods that are missing from
> Guava's Optional:
> From bitbucket.org/atlassian/fugue
> "This library attempts round out some of the deficiencies that a
> functional programmer finds when using Guava. In particular it provides
> Option and Either types similar to the Scala library as well as a Pair."
> The lambda-dev post that Brian referenced in earlier in this thread was
> written by Jed Wesley-Smith, who has committed most of Fugue's code.
> On Mon, Jun 3, 2013 at 5:32 PM, Mike Duigou <mike.duigou at oracle.com>wrote:
>> On Jun 3 2013, at 10:03 , Joe Bowbeer wrote:
>> > Does everyone agree that Fugue's Option is an improvement on Guava's
>> > Optional?
>> How is Fugue's Optional an improvement? I guess I am pretty satisfied
>> with Brian's proposal for java.util.Optional and would be similarly
>> satisfied with the Guava Optional. If there are benefits to Fugue or
>> other's Optional beyond implementation details I would like to understand
>> what they are believed to be.
More information about the lambda-libs-spec-observers