<div class="gmail_quote">On Wed, Aug 5, 2009 at 1:24 PM, Taru Karttunen <span dir="ltr">&lt;<a href="mailto:taruti@taruti.net">taruti@taruti.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hello<br>
<br>
It seems like a very common issue to have an API like:<br>
<br>
foo   :: String -&gt; Foo<br>
fooBS :: ByteString -&gt; Foo<br>
fooLBS:: L.ByteString -&gt; Foo<br>
<br>
is there currently a library that makes unifying them easy?<br>
</blockquote></div><br>They cannot be completely unified. A sequence of Unicode characters (String) is not the same kind of thing as a sequence of bytes (ByteString). Going between the two requires an encoding. A shared abstraction would support a subset of operations that make sense on all sequences.<br>

<br>Cheers,<br><br>Johan<br><br>