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
MonadIO with extra Applicative and Functor superclasses
Repeatedy execute action, collecting results, until it returns Nothing
Apply action to elements one at a time until one succeeds. Throw last error if all fail. Throw
strMsg error if list is empty.
Apply action to elements one at a time until one succeeds. Throw last error if all fail. Throw given error if list is empty
lift IOE monad to ErrorT monad over some MonadIO m
Run action while catching explicit error and rethrowing in IO monad
Change or insert value of key in association list
Concat first and second together with period in between. Eg.
"hello" <.> "world" = "hello.world"
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.
Read N bytes from hande, blocking until all N bytes are read. If EOF is reached before N bytes then raise EOF exception.
Hexadecimal string representation of a byte string. Each byte yields two hexadecimal characters.