On Fri, Aug 20, 2010 at 04:01, Simon Marlow <[email protected]> wrote:
> Handle IO is also doing Unicode encoding/decoding, which iteratees bypass.
> Have you thought about how to incorporate encoding/decoding?
Yes; there will be a module Data.Enumerator.Text which contains
locale-based IO, enumeratee-based encoding/decoding, and so forth.
Since "iteratee" doesn't have any text-based IO, I figured it wasn't
necessary for a first release; getting feedback on the basic soundness
of the package was more important.
Currently, I'm planning on the following type signatures for D.E.Text.
'enumHandle' will use Text's hGetLine, since there doesn't seem to be
any text-based equivalent to ByteString's 'hGet'.
--------------------------------------------------------------------------------
enumHandle :: Handle -> Enumerator SomeException Text IO b
enumFile :: FilePath -> Enumerator SomeException Text IO b
data Codec = Codec
{ codecName :: Text
, codecEncode :: Text -> Either SomeException ByteString
, codecDecode :: ByteString -> Either SomeException (Text, ByteString)
}
encode :: Codec -> Enumeratee SomeException Text ByteString m b
decode :: Codec -> Enumeratee SomeException ByteString Text m b
utf8 :: Codec
utf16le :: Codec
utf16be :: Codec
utf32le :: Codec
utf32be :: Codec
ascii :: Codec
iso8859_1 :: Codec
--------------------------------------------------------------------------------
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe