Copyright | (c) Julian Ospald 2020 |
---|---|
License | LGPL-3.0 |
Maintainer | hasufell@hasufell.de |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
GHCup specific prelude. Lots of Excepts functionality.
Synopsis
- fS :: IsString a => String -> a
- fromStrictMaybe :: Maybe a -> Maybe a
- fSM :: Maybe a -> Maybe a
- toStrictMaybe :: Maybe a -> Maybe a
- tSM :: Maybe a -> Maybe a
- internalError :: String -> IO a
- iE :: String -> IO a
- showT :: Show a => a -> Text
- whenM :: Monad m => m Bool -> m () -> m ()
- unlessM :: Monad m => m Bool -> m () -> m ()
- ifM :: Monad m => m Bool -> m a -> m a -> m a
- whileM :: Monad m => m a -> (a -> m Bool) -> m a
- whileM_ :: Monad m => m a -> (a -> m Bool) -> m ()
- guardM :: (Monad m, Alternative m) => m Bool -> m ()
- handleIO' :: (MonadIO m, MonadCatch m) => IOErrorType -> (IOException -> m a) -> m a -> m a
- (??) :: forall e es a m. (Monad m, e :< es) => Maybe a -> e -> Excepts es m a
- (!?) :: forall e es a m. (Monad m, e :< es) => m (Maybe a) -> e -> Excepts es m a
- lE :: forall e es a m. (Monad m, e :< es) => Either e a -> Excepts es m a
- lE' :: forall e' e es a m. (Monad m, e :< es) => (e' -> e) -> Either e' a -> Excepts es m a
- lEM :: forall e es a m. (Monad m, e :< es) => m (Either e a) -> Excepts es m a
- lEM' :: forall e' e es a m. (Monad m, e :< es) => (e' -> e) -> m (Either e' a) -> Excepts es m a
- fromEither :: Either a b -> VEither '[a] b
- liftIOException' :: (MonadCatch m, MonadIO m, Monad m, e :< es', LiftVariant es es') => IOErrorType -> e -> Excepts es m a -> Excepts es' m a
- liftIOException :: (MonadCatch m, MonadIO m, Monad m, e :< es') => IOErrorType -> e -> m a -> Excepts es' m a
- hideError :: (MonadIO m, MonadCatch m) => IOErrorType -> m () -> m ()
- hideErrorDef :: [IOErrorType] -> a -> IO a -> IO a
- hideErrorDefM :: [IOErrorType] -> IO a -> IO a -> IO a
- hideExcept :: forall e es es' a m. (Monad m, e :< es, LiftVariant (Remove e es) es') => e -> a -> Excepts es m a -> Excepts es' m a
- hideExcept' :: forall e es es' m. (Monad m, e :< es, LiftVariant (Remove e es) es') => e -> Excepts es m () -> Excepts es' m ()
- reThrowAll :: forall e es es' a m. (Monad m, e :< es') => (V es -> e) -> Excepts es m a -> Excepts es' m a
- reThrowAllIO :: forall e es es' a m. (MonadCatch m, Monad m, MonadIO m, e :< es') => (V es -> e) -> (IOException -> e) -> Excepts es m a -> Excepts es' m a
- throwEither :: (Exception a, MonadThrow m) => Either a b -> m b
- throwEither' :: (Exception a, MonadThrow m) => a -> Either x b -> m b
- verToBS :: Version -> ByteString
- intToText :: Integral a => a -> Text
- removeLensFieldLabel :: String -> String
- addToCurrentEnv :: MonadIO m => [(ByteString, ByteString)] -> m [(ByteString, ByteString)]
- pvpToVersion :: PVP -> Version
- decUTF8Safe :: ByteString -> Text
- decUTF8Safe' :: ByteString -> Text
- escapeVerRex :: Version -> ByteString
Documentation
fromStrictMaybe :: Maybe a -> Maybe a Source #
toStrictMaybe :: Maybe a -> Maybe a Source #
internalError :: String -> IO a Source #
unlessM :: Monad m => m Bool -> m () -> m () Source #
Like unless
, but where the test can be monadic.
handleIO' :: (MonadIO m, MonadCatch m) => IOErrorType -> (IOException -> m a) -> m a -> m a Source #
lE' :: forall e' e es a m. (Monad m, e :< es) => (e' -> e) -> Either e' a -> Excepts es m a Source #
lEM' :: forall e' e es a m. (Monad m, e :< es) => (e' -> e) -> m (Either e' a) -> Excepts es m a Source #
fromEither :: Either a b -> VEither '[a] b Source #
liftIOException' :: (MonadCatch m, MonadIO m, Monad m, e :< es', LiftVariant es es') => IOErrorType -> e -> Excepts es m a -> Excepts es' m a Source #
liftIOException :: (MonadCatch m, MonadIO m, Monad m, e :< es') => IOErrorType -> e -> m a -> Excepts es' m a Source #
hideError :: (MonadIO m, MonadCatch m) => IOErrorType -> m () -> m () Source #
Uses safe-exceptions.
hideErrorDef :: [IOErrorType] -> a -> IO a -> IO a Source #
hideErrorDefM :: [IOErrorType] -> IO a -> IO a -> IO a Source #
hideExcept :: forall e es es' a m. (Monad m, e :< es, LiftVariant (Remove e es) es') => e -> a -> Excepts es m a -> Excepts es' m a Source #
hideExcept' :: forall e es es' m. (Monad m, e :< es, LiftVariant (Remove e es) es') => e -> Excepts es m () -> Excepts es' m () Source #
reThrowAll :: forall e es es' a m. (Monad m, e :< es') => (V es -> e) -> Excepts es m a -> Excepts es' m a Source #
reThrowAllIO :: forall e es es' a m. (MonadCatch m, Monad m, MonadIO m, e :< es') => (V es -> e) -> (IOException -> e) -> Excepts es m a -> Excepts es' m a Source #
throwEither :: (Exception a, MonadThrow m) => Either a b -> m b Source #
throwEither' :: (Exception a, MonadThrow m) => a -> Either x b -> m b Source #
verToBS :: Version -> ByteString Source #
removeLensFieldLabel :: String -> String Source #
addToCurrentEnv :: MonadIO m => [(ByteString, ByteString)] -> m [(ByteString, ByteString)] Source #
pvpToVersion :: PVP -> Version Source #
decUTF8Safe :: ByteString -> Text Source #
Safe decodeUtf8With
. Replaces an invalid input byte with
the Unicode replacement character U+FFFD.
decUTF8Safe' :: ByteString -> Text Source #
escapeVerRex :: Version -> ByteString Source #
Escape a version for use in regex