There are standard (clean) display functions for ByteString and Text :
map :: (Word8 -> Word8) -> ByteString -> ByteString map :: (Char -> Char) -> Text -> Text
but I miss their monadic / applicative copies:
traverse :: (Applicative f) => (Word8 -> f Word8) -> ByteString -> f ByteString traverse :: (Applicative f) => (Char -> f Char) -> Text -> f Text
(If we have traverse , we can define mapM f = unwrapMonad . traverse (WrapMonad . f) .)
I tried to look at the packages, tried Google, but I did not find them. Did I miss something? Or is there a reason why they are absent (for example, it is impossible / easy to determine them effectively)
source share