Safe Haskell | Safe |
---|---|

Language | Haskell98 |

# Documentation

(?->) :: Maybe a -> (a -> b) -> Maybe b infixl 6 Source #

This is an infix version of `fmap`

for writing `select`

style expressions
using test functions, that produce `Maybe`

s.

The precedence is chosen to be higher than '(:)', in order to allow:

alternatives default $ checkForA ?-> (\a -> f a) : checkForB ?-> (\b -> g b) : []

The operation is left associative in order to allow to write

checkForA ?-> f ?-> g

which is equivalent to

checkForA ?-> g . f

due to the functor law.

alternatives :: a -> [Maybe a] -> a Source #