Hoogle Search
Within LTS Haskell 24.36 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
rightToMaybe :: Either l r -> Maybe rrelude Relude.Monad.Either Maps right part of Either to Maybe.
>>> rightToMaybe (Left True) Nothing >>> rightToMaybe (Right "aba") Just "aba"
mapMaybeM :: Monad m => (a -> m (Maybe b)) -> [a] -> m [b]relude Relude.Monad.Maybe The monadic version of the mapMaybe function.
>>> :{ evenInHalf :: Int -> IO (Maybe Int) evenInHalf n | even n = pure $ Just $ n `div` 2 | otherwise = pure Nothing :}>>> mapMaybeM evenInHalf [1..10] [1,2,3,4,5]
-
relude Relude.Monad.Reexport The catMaybes function takes a list of Maybes and returns a list of all the Just values.
Examples
Basic usage:>>> catMaybes [Just 1, Nothing, Just 3] [1,3]
When constructing a list of Maybe values, catMaybes can be used to return all of the "success" results (if the list is the result of a map, then mapMaybe would be more appropriate):>>> import GHC.Internal.Text.Read ( readMaybe ) >>> [readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ] [Just 1,Nothing,Just 3] >>> catMaybes $ [readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ] [1,3]
exceptToMaybeT :: forall (m :: Type -> Type) e a . Functor m => ExceptT e m a -> MaybeT m arelude Relude.Monad.Reexport Convert a ExceptT computation to MaybeT, discarding the value of any exception.
fromMaybe :: a -> Maybe a -> arelude Relude.Monad.Reexport The fromMaybe function takes a default value and a Maybe value. If the Maybe is Nothing, it returns the default value; otherwise, it returns the value contained in the Maybe.
Examples
Basic usage:>>> fromMaybe "" (Just "Hello, World!") "Hello, World!"
>>> fromMaybe "" Nothing ""
Read an integer from a string using readMaybe. If we fail to parse an integer, we want to return 0 by default:>>> import GHC.Internal.Text.Read ( readMaybe ) >>> fromMaybe 0 (readMaybe "5") 5 >>> fromMaybe 0 (readMaybe "") 0
-
relude Relude.Monad.Reexport The listToMaybe function returns Nothing on an empty list or Just a where a is the first element of the list.
Examples
Basic usage:>>> listToMaybe [] Nothing
>>> listToMaybe [9] Just 9
>>> listToMaybe [1,2,3] Just 1
Composing maybeToList with listToMaybe should be the identity on singleton/empty lists:>>> maybeToList $ listToMaybe [5] [5] >>> maybeToList $ listToMaybe [] []
But not on lists with more than one element:>>> maybeToList $ listToMaybe [1,2,3] [1]
mapMaybe :: (a -> Maybe b) -> [a] -> [b]relude Relude.Monad.Reexport The mapMaybe function is a version of map which can throw out elements. In particular, the functional argument returns something of type Maybe b. If this is Nothing, no element is added on to the result list. If it is Just b, then b is included in the result list.
Examples
Using mapMaybe f x is a shortcut for catMaybes $ map f x in most cases:>>> import GHC.Internal.Text.Read ( readMaybe ) >>> let readMaybeInt = readMaybe :: String -> Maybe Int >>> mapMaybe readMaybeInt ["1", "Foo", "3"] [1,3] >>> catMaybes $ map readMaybeInt ["1", "Foo", "3"] [1,3]
If we map the Just constructor, the entire list should be returned:>>> mapMaybe Just [1,2,3] [1,2,3]
runMaybeT :: MaybeT (m :: Type -> Type) a -> m (Maybe a)relude Relude.Monad.Reexport No documentation available.
hoistMaybe :: forall (m :: Type -> Type) a . Applicative m => Maybe a -> MaybeT m arelude Relude.Monad.Trans readMaybe :: Read a => String -> Maybe arelude Relude.String.Reexport Parse a string using the Read instance. Succeeds if there is exactly one valid result.
>>> readMaybe "123" :: Maybe Int Just 123
>>> readMaybe "hello" :: Maybe Int Nothing