Safe Haskell | None |
---|---|
Language | Haskell2010 |
Internal utilities and instances
Synopsis
- whileMFinalIO :: Member (Final IO) r => Sem r Bool -> Sem r ()
- untilJustFinalIO :: Member (Final IO) r => Sem r (Maybe a) -> Sem r a
- whenJust :: Applicative m => Maybe a -> (a -> m ()) -> m ()
- whenM :: Monad m => m Bool -> m () -> m ()
- unlessM :: Monad m => m Bool -> m () -> m ()
- lastMaybe :: Maybe a -> Maybe a -> Maybe a
- leftToMaybe :: Either e a -> Maybe e
- rightToMaybe :: Either e a -> Maybe a
- justToEither :: Maybe e -> Either e ()
- (<<$>>) :: (Functor f, Functor g) => (a -> b) -> f (g a) -> f (g b)
- (<<*>>) :: (Applicative f, Applicative g) => f (g (a -> b)) -> f (g a) -> f (g b)
- (<.>) :: Functor f => (a -> b) -> (c -> f a) -> c -> f b
- debug :: Member LogEff r => Text -> Sem r ()
- info :: Member LogEff r => Text -> Sem r ()
- error :: Member LogEff r => Text -> Sem r ()
- swap :: (a, b) -> (b, a)
Documentation
whileMFinalIO :: Member (Final IO) r => Sem r Bool -> Sem r () Source #
Like whileM, but stateful effects are not preserved to mitigate memory leaks
This means Polysemy.Error won't work to break the loop, etc. Instead, Error/Alternative will just result in the loop quitting.
untilJustFinalIO :: Member (Final IO) r => Sem r (Maybe a) -> Sem r a Source #
Like untilJust, but stateful effects are not preserved to mitigate memory leaks
This means Polysemy.Error won't work to break the loop, etc. Instead, Error/Alternative will just result in another loop.
whenJust :: Applicative m => Maybe a -> (a -> m ()) -> m () Source #
leftToMaybe :: Either e a -> Maybe e Source #
rightToMaybe :: Either e a -> Maybe a Source #
justToEither :: Maybe e -> Either e () Source #
(<<*>>) :: (Applicative f, Applicative g) => f (g (a -> b)) -> f (g a) -> f (g b) infixl 4 Source #
Orphan instances
TextShow UTCTime Source # | |
(Show a, Fractional a) => TextShow (Colour a) Source # | |
(TextShow a, Unboxable a) => TextShow (Vector a) Source # | |
(FromJSON a, Unboxable a) => FromJSON (Vector a) Source # | |
parseJSON :: Value -> Parser (Vector a) parseJSONList :: Value -> Parser [Vector a] | |
(ToJSON a, Unboxable a) => ToJSON (Vector a) Source # | |
toJSON :: Vector a -> Value toEncoding :: Vector a -> Encoding toJSONList :: [Vector a] -> Value toEncodingList :: [Vector a] -> Encoding | |
(Show k, Show v) => TextShow (Map k v) Source # | |
(Show k, Show v) => TextShow (HashMap k v) Source # | |
Default (Map k v) Source # | |