"Elvis" operator (?:) as a reverse infix form of "fromMaybe"
Nikita Volkov
nikita.y.volkov at gmail.com
Sat Oct 12 12:40:05 UTC 2013
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20131012/2b49a834/attachment.html>
More information about the Libraries
mailing list