Subscribe to
Posts
Comments

After several months of work, I'm pleased to announce the release of version 0.8.0.0 of the Haskell text library, which provides fast Unicode support with a pleasing API.

Compared to previous versions, this has the following major changes:

  • Improved performance. Some common functions, including support for Unicode I/O, are up to 3x faster than before.

  • Better test coverage. 95% of top-level functions are tested, as are 89% of all expressions. Almost all testing is performed via QuickCheck, so the quality of the tested code is high.

  • Bug fixes. A few significant bugs and space leaks have been fixed, thanks to a combination of reports from users and better test coverage. Notably, the I/O code had a couple of nasty bugs that I smoked out via QuickCheck.

  • Cleaner APIs. Several functions have more useful type signatures than before, and a few more useful functions have been added.

If you are writing an application or maintain a library that uses the text library, you should update your Cabal dependencies to something like this:

text == 0.8.*

In most cases, you won't need to edit your source code, as very few API entry points have changed since 0.7.

At this point, I think I'm happy calling the text API stable. What can you expect in the near future?

  • Even more code! I am close to releasing a substantial revision to the text-icu library, which provides a rich (and soon greatly expanded) set of functionality around locale-sensitive collation, normalization, text breaking, and other complex Unicode-related functionality that does not belong in the core of the text package. This will enable the development of powerful and subtle text processing applications that have previously not been writable in Haskell.

  • Faster code for free! Simon Peyton Jones rewrote the GHC inliner several months ago. My benchmarks indicate that the new inliner makes a huge difference to the performance of the text library, often doubling or tripling the performance of functions. Since GHC 6.14.1, which includes the new inliner, should be released in a few months, you'll get a huge performance boost for free.

  • Further refinements! I continue to work on other performance improvements as time permits.

Don't forget, you can always improve the text library yourself. I love to receive patches, requests for improvement, and bug reports.

darcs get http://code.haskell.org/text
darcs get http://code.haskell.org/text-icu

6 Responses to “Major version of the Haskell text library, 0.8.0.0”

  1. on 01 Sep 2010 at 02:13Alessandro Stamatto

    Fantastic job! Great work

  2. on 01 Sep 2010 at 07:39Daniel

    Thanks!

  3. on 01 Sep 2010 at 09:21Paul Rivier

    Great ! Good unicode support is a must have for Haskell to conquer the “real world” :)

  4. on 01 Sep 2010 at 14:16Reinier

    Great job! I’ll try to see if darcs builds with it :)

  5. on 01 Sep 2010 at 23:50solrize

    Yay!! Data.Text fills a major gap in the Haskell ecosystem.

  6. [...] support for various Unicode services through text and text-icu packages. Some recent updates to text and text-icu are explained in the author’s [...]

Leave a Reply