That's a pretty good description of the way variants work. OCaml/Reason does not have a built-in Either type, but they do have this "disjoint tagged unions" which can behave the same way.
The most common data type that models the Either type you describe (used in Haskell) is the Result type. It is modeled using the variant constructors Ok and Error. So the Reason code would look like:
moduleResult={typet('a,'e)=|Ok('a)|Error('e);};
And the type we have there is a bifunctor and a monad, just like Either.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
That's a pretty good description of the way variants work. OCaml/Reason does not have a built-in
Eithertype, but they do have this "disjoint tagged unions" which can behave the same way.The most common data type that models the
Eithertype you describe (used in Haskell) is theResulttype. It is modeled using the variant constructorsOkandError. So the Reason code would look like:And the type we have there is a bifunctor and a monad, just like
Either.