On Fri, Aug 13, 2010 at 10:01 PM, Dan Doel <dan.d...@gmail.com> wrote:
> On Friday 13 August 2010 8:51:46 pm Evan Laforge wrote:
>> I have an app that is using Data.Text, however I'm thinking of
>> switching to UTF8 bytestrings.  The reasons are that there are two
>> main things I do with text: pass it to a C API to display, and parse
>> it.  The C API expects UTF8, and the parser libraries with a
>> reputation for being fast all seem to have bytestring inputs, but not
>> Data.Text (I'm using unpack -> parsec, which is not optimal).
>
> You should be able to use parsec with text. All you need to do is write a
> Stream instance:
>
>  instance Monad m => Stream Text m Char where
>    uncons = return . Text.uncons

Then this should be on a 'parsec-text' package.  Instances are always
implicitly imported.

Suppose packages A and B define this instance separately.  If
package C imports A and B, then it can't use any of those
instances nor define its own.

Cheers! =)

--
Felipe.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to