This article does not cite any sources. (June 2019) (Learn how and when to remove this template message)
In functional programming, a result type is a Monadic type holding a returned value or an error code. They provide an elegant way of handling errors, without resorting to exception handling; when a function that may fail returns a result type, the programmer is forced to consider success or failure paths, before getting access to the expected result; this eliminates the possibility of an erroneous programmer assumption.
- In OCaml, it is defined by the standard library as
type ('a, 'b) result = Ok of 'a | Error of 'b type.
- In Rust, the standard library provides the
Result<T, E>type to handle return values or error codes, expanding on the functionality of the
- In Swift, too, the standard library has a
Result<Success, Failure> where Failure : Errortype.
- Haskell has a type that is sometimes used in a similar way, called
Either, which is defined as
data Either a b = Left a | Right b.