Haskell does not have nulls. Java 8 introduced Options, and now there are nulls and Options.
Please tell me you didn't just add SideEffects to a language full of side-effects.
Haskell does not have nulls. Java 8 introduced Options, and now there are nulls and Options.
Please tell me you didn't just add SideEffects to a language full of side-effects.
I understand the concern.
The intent isn’t to add more side effects to an already side-effectful language. It’s closer to the opposite: trying not to handle side effects all over the place, but to surface them as part of a single, explicit flow.
This is less about adding something like Option to a language without nulls, and more about making control-flow boundaries visible in a multi-paradigm language where effects already exist.
It’s not an attempt to pretend the language is pure, just a small step toward more declarative discipline.