<div dir="ltr"><br><br><div class="gmail_quote">On Sun, Aug 15, 2010 at 8:39 AM, Edward Z. Yang <span dir="ltr">&lt;<a href="mailto:ezyang@mit.edu">ezyang@mit.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Excerpts from John Millikin&#39;s message of Sun Aug 15 01:32:51 -0400 2010:<br>
<div class="im">&gt; Also, despite the name, ByteString and Text are for separate purposes.<br>
&gt; ByteString is an efficient [Word8], Text is an efficient [Char] -- use<br>
&gt; ByteString for binary data, and Text for...text. Most mature languages<br>
&gt; have both types, though the choice of UTF-16 for Text is unusual.<br>
<br>
</div>Given that both Python, .NET, Java and Windows use UTF-16 for their Unicode<br>
text representations, I cannot really agree with &quot;unusual&quot;. :-)<br>
<br></blockquote><div>When I&#39;m writing a web app, my code is sitting on a Linux system where the default encoding is UTF-8, communicating with a database speaking UTF-8, receiving request bodies in UTF-8 and sending response bodies in UTF-8. So converting all of that data to UTF-16, just to be converted right back to UTF-8, does seem strange for that purpose.</div>
<div><br></div><div>Remember, Python, .NET and Java are all imperative languages without referential transparency. I doubt saying they do something some way will influence most Haskell coders much ;).</div><div><br></div>
<div>Michael</div></div></div>