Miscellaneous general functions and Show, Eq, and Ord instances for PortID
- class (MonadIO m, Applicative m, Functor m) => MonadIO' m
- shuffle :: [a] -> IO [a]
- loop :: (Functor m, Monad m) => m (Maybe a) -> m [a]
- untilSuccess :: (MonadError e m, Error e) => (a -> m b) -> [a] -> m b
- untilSuccess' :: MonadError e m => e -> (a -> m b) -> [a] -> m b
- whenJust :: Monad m => Maybe a -> (a -> m ()) -> m ()
- liftIOE :: MonadIO m => (e -> e') -> ErrorT e IO a -> ErrorT e' m a
- runIOE :: ErrorT IOError IO a -> IO a
- updateAssocs :: Eq k => k -> v -> [(k, v)] -> [(k, v)]
- bitOr :: Bits a => [a] -> a
- (<.>) :: UString -> UString -> UString
- true1 :: Label -> Document -> Bool
- hGetN :: Handle -> Int -> IO ByteString
- byteStringHex :: ByteString -> String
- byteHex :: Word8 -> String
Documentation
class (MonadIO m, Applicative m, Functor m) => MonadIO' m Source
MonadIO with extra Applicative and Functor superclasses
(MonadIO m, Applicative m, Functor m) => MonadIO' m |
loop :: (Functor m, Monad m) => m (Maybe a) -> m [a]Source
Repeatedy execute action, collecting results, until it returns Nothing
untilSuccess :: (MonadError e m, Error e) => (a -> m b) -> [a] -> m bSource
Apply action to elements one at a time until one succeeds. Throw last error if all fail. Throw strMsg
error if list is empty.
untilSuccess' :: MonadError e m => e -> (a -> m b) -> [a] -> m bSource
Apply action to elements one at a time until one succeeds. Throw last error if all fail. Throw given error if list is empty
liftIOE :: MonadIO m => (e -> e') -> ErrorT e IO a -> ErrorT e' m aSource
lift IOE monad to ErrorT monad over some MonadIO m
runIOE :: ErrorT IOError IO a -> IO aSource
Run action while catching explicit error and rethrowing in IO monad
updateAssocs :: Eq k => k -> v -> [(k, v)] -> [(k, v)]Source
Change or insert value of key in association list
(<.>) :: UString -> UString -> UStringSource
Concat first and second together with period in between. Eg. "hello" <.> "world" = "hello.world"
true1 :: Label -> Document -> BoolSource
Is field's value a 1 or True (MongoDB use both Int and Bools for truth values). Error if field not in document or field not a Num or Bool.
hGetN :: Handle -> Int -> IO ByteStringSource
Read N bytes from hande, blocking until all N bytes are read. If EOF is reached before N bytes then raise EOF exception.
byteStringHex :: ByteString -> StringSource
Hexadecimal string representation of a byte string. Each byte yields two hexadecimal characters.