Posted in haskell, open source on September 2nd, 2010 3 Comments »
I just published the base64-bytestring library, which fills a surprising gap in Haskell's library coverage by adding support for base64 encoding and decoding of the ByteString type. The library is written in pure Haskell, and it's fast: 250 MB/sec encoding 200 MB/sec strict decoding (per RFC 4648) 100 MB/sec lenient decoding The above numbers compares [...]
Posted in haskell, open source on September 1st, 2010 5 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. [...]
Posted in haskell on July 22nd, 2010 No Comments »
I'm on the program committee for the 2011 Practical Aspects of Declarative Languages (PADL) conference, so I heartily encourage you to submit a paper on that exciting functional programming project you've been working on. Topics of interest include: Innovative applications of declarative languages. Declarative domain-specific languages and applications. Practical applications of theoretical results. New language [...]
Posted in haskell on July 13th, 2010 2 Comments »
Thanks to diligent work by Johan, our new I/O manager is ready to merge into the main GHC tree. All the tests pass, and it’s performing well. I’ll post an update when it gets merged into HEAD. We also heard back from the peer reviewers for this year’s Haskell Symposium that our paper describing the [...]
Posted in haskell on July 2nd, 2010 8 Comments »
On the Haskell libraries mailing list, Cale Gibbard made an interesting suggestion for a couple of useful list-related functions that could be added to the standard list library. The particular one I'm interested in is his separate function: separate :: [a] -> [([a],a,[a])] The idea is that this function should produce a list of all [...]
Posted in haskell, open source on June 14th, 2010 2 Comments »
After a few months of blissfully doing precious little hacking in our spare time, Johan and I have returned to work on the new event manager for GHC. I spent the past few days writing a paper about the motivation, design, and internals of the new event manager, which I submitted to this year’s Haskell [...]
Posted in Uncategorized, haskell on March 3rd, 2010 3 Comments »
My goal in working on the new GHC I/O manager has been to get the Haskell network stack into a state where it could be used to attack high-performance and scalable networking problems, domains in which it has historically been weak.While it's encouraging to have an excellent networking stack (Johan and I now have this [...]
Posted in haskell on December 15th, 2009 2 Comments »
Earlier this evening, I released a new version of the Haskell text package. This one adds support for I/O, which in previous releases you had to roll by hand. The Data.Text.IO and Data.Text.Lazy.IO modules are the places you'll want to look for details of how to read and write text easily. The reason for this [...]
Posted in haskell on December 1st, 2009 5 Comments »
This evening, Matthew Podwysocki drew my attention to an amusing article over on Phil Trelford's blog, in which people compare various versions of an algorithm for producing left-truncatable primes. I can't resist a round of golf, and I was of course tempted by Matt Curran's 17-line Haskell entry, so here's the exact same algorithm in [...]
Posted in haskell, open source on November 6th, 2009 2 Comments »
I’m pleased to announce the availability of version 0.2 of my criterion library for Haskell performance evaluation. Compared to version 0.1, this version has some significant changes. The benchmarking API has been improved! If you’re benchmarking a pure function, you no longer need to feed it an Int to ensure that it won’t get thunked [...]