Description
A generic version of Data.Maybe.
Description
This module is a drop in replacement for Data.Maybe
. It generalizes the functions to any types that share the same "sum of products" view of Maybe
.
To use the module for your type, enable GHC's DeriveGeneric extension and derive a Generic instance for your type.
import GHC.Generics
data Result a = Success a | Fail
deriving (Show, Generic)
After which you can use the functions, like your type was Data.Maybe.Maybe
> fromMaybe 'a' Fail
'a'
> fromMaybe 'a' $ Success 'b'
'b'