<meta http-equiv="content-type" content="text/html; charset=utf-8"><span class="Apple-style-span" style="font-family: verdana, tahoma, arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51); line-height: 19px; "><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; line-height: 19px; ">
[<a href="http://www.serpentine.com/blog/2010/10/22/text-0-10-0-0-is-here/">Blog copy of the announcement here</a>.]</p><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; line-height: 19px; ">
I just pushed it to <a href="http://bitbucket.org/bos/text" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-decoration: none; color: rgb(58, 83, 143); border-bottom-color: rgb(153, 102, 51); border-bottom-width: 1px; border-bottom-style: dotted; ">bitbucket</a> and <a href="http://github.com/bos/text" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-decoration: none; color: rgb(58, 83, 143); border-bottom-color: rgb(153, 102, 51); border-bottom-width: 1px; border-bottom-style: dotted; ">github</a>, and you can install it from the <a href="http://hackage.haskell.org/package/text" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-decoration: none; color: rgb(58, 83, 143); border-bottom-color: rgb(153, 102, 51); border-bottom-width: 1px; border-bottom-style: dotted; ">text site on Hackage</a> in the usual way:</p>
<pre style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><code style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">cabal update
cabal install text
</code></pre><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; line-height: 19px; ">What&#39;s in this release?</p>
<ul style="padding-top: 0px; padding-right: 1em; padding-bottom: 0px; padding-left: 1em; margin-top: 1em; margin-right: 1em; margin-bottom: 1em; margin-left: 1em; list-style-image: url(http://www.serpentine.com/wordpress/wp-content/themes/mistylook-101/img/bullet.png); ">
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; line-height: 19px; ">
New <a href="http://hackage.haskell.org/packages/archive/text/0.10.0.0/doc/html/Data-Text-Read.html" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-decoration: none; color: rgb(58, 83, 143); border-bottom-color: rgb(153, 102, 51); border-bottom-width: 1px; border-bottom-style: dotted; ">functions for reading integers and floating point numbers</a>, an oft-requested feature. They&#39;re fast, too: they range from parity with their bytestring counterparts, to up to 4 times faster. You can expect to parse 3 to 4 million Int values per second out of a text file, or up 2 million Double values per second. They&#39;re also easy to use, give error messages, and come in strict and lazy variants.</p>
</li><li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; line-height: 19px; ">
UTF-8 decoding and encoding are <a href="http://www.serpentine.com/blog/2010/10/15/unicode-text-performance-improvements/" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-decoration: none; color: rgb(58, 83, 143); border-bottom-color: rgb(153, 102, 51); border-bottom-width: 1px; border-bottom-style: dotted; ">now very fast</a>. They&#39;re up to 9x faster than they were, and close to the performance of pure C UTF-8 decoding and encoding.</p>
</li><li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; line-height: 19px; ">
The Eq and Ord instances are also now very fast, <a href="http://www.serpentine.com/blog/2010/10/19/a-brief-tale-of-faster-equality/" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; text-decoration: none; color: rgb(58, 83, 143); border-bottom-color: rgb(153, 102, 51); border-bottom-width: 1px; border-bottom-style: dotted; ">up to 5x faster than before</a>. They&#39;re now faster than the bytestring instances.</p>
</li><li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; line-height: 19px; ">
Several other common functions received drive-by performance improvements too.</p></li><li style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; line-height: 19px; ">Better protection against rare crashes on really huge volumes of data.</p>
</li></ul></span>