utility-ht-0.0.12: Various small helper functions for Lists, Maybes, Tuples, Functions

Safe HaskellSafe
LanguageHaskell98

Data.Maybe.HT

Synopsis

Documentation

toMaybe :: Bool -> a -> Maybe a Source #

Returns Just if the precondition is fulfilled.

(?->) :: 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 Maybes.

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 #