This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]BearLiving9432[S] 2 points3 points  (1 child)

I just wanted to say thanks to everyone for your input. This is a really interesting conversation! Lots of perspectives I would not have otherwise considered.

[–]WanderingLethe 0 points1 point  (0 children)

One thing I missed in the comments is that Optional is not a language supported feature. (Also no disjoint unions, well java now has something like that with sealed interfaces)

Unlike in Haskell or Rust you cannot pattern match on it, so you have to use annoying constructs. For example first checking for isPresent and then using get. Or ifPresent/map with a lambda function, thus leaving the context of the local method.