Copyright | (c) Justin Le 2018 |
---|---|
License | BSD3 |
Maintainer | justin@jle.im |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
AOC.Util
Description
Assorted utility functions and orphans used for solutions.
Synopsis
- strip :: String -> String
- stripNewline :: String -> String
- eitherToMaybe :: Alternative m => Either e a -> m a
- firstJust :: Foldable t => (a -> Maybe b) -> t a -> Maybe b
- maybeToEither :: MonadError e m => e -> Maybe a -> m a
- maybeAlt :: Alternative m => Maybe a -> m a
- traceShowIdMsg :: Show a => String -> a -> a
- traceShowMsg :: Show a => String -> a -> b -> b
Documentation
stripNewline :: String -> String Source #
Strip trailing newline
eitherToMaybe :: Alternative m => Either e a -> m a Source #
Convert an Either
into a Maybe
, or any Alternative
instance,
forgetting the error value.
firstJust :: Foldable t => (a -> Maybe b) -> t a -> Maybe b Source #
Like find
, but instead of taking an a -> Bool
, takes an a ->
Maybe b
and returns the first success.
maybeToEither :: MonadError e m => e -> Maybe a -> m a Source #
Convert a Maybe
into an Either
, or any MonadError
instance, by
providing an error value in case Nothing
was given.
maybeAlt :: Alternative m => Maybe a -> m a Source #
Generalize a Maybe
to any Alternative
traceShowIdMsg :: Show a => String -> a -> a Source #
Like traceShowId
but with an extra message