"Elvis" operator (?:) as a reverse infix form of "fromMaybe"
Christopher Done
chrisdone at gmail.com
Sat Oct 12 12:48:47 UTC 2013
I've never considered writing fromMaybe painful, personally.
On 12 October 2013 14:40, Nikita Volkov <nikita.y.volkov at gmail.com> wrote:
> I suggest to include this operator in "Data.Maybe" and "Prelude".
>
> Implementation:
>
> (?:) :: Maybe a -> a -> a
> maybeA ?: b = fromMaybe b maybeA
>
> Use cases:
>
> 1.
> maybeValue ?: error "Value is unexpectedly empty. This is a bug."
>
> instead of
>
> fromMaybe (error "Value is unexpectedly empty. This is a bug.")
> maybeValue
>
> 2.
> maybeA ?: maybeB ?: c
>
> instead of
>
> fromMaybe (fromMaybe c maybeB) maybeA
>
> Name collisions:
>
> Hayoo search gives only 6 collisions with 5 hardly fundamental
> libraries.
>
>
>
> * The nickname and the operator itself are inspired by the ones from Groovy
> language.
>
> ** The symbols of the operator are a reminder of plain old ternary
> construct.
>
> *** To understand the nickname look at the operator as on emoticon.
>
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
>
More information about the Libraries
mailing list