Haskell hacker, distributed systems guy, writer, climber
Areas of Expertise:
- Haskell
- functional programming
- distributed systems
- revision control tools
- Mercurial
- consulting
- speaking
- programming
- training
- writing
Biography
Books
|
|
|
Blog
http://www.serpentine.com/blog/
Criterion 0.2, an improved Haskell benchmarking library
November 06 2009
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… read moreAnnouncing a major revision of the Haskell text library
October 09 2009
I'm pleased to announce the availability of version 0.5 of text, a library that provides fast Unicode text handling for Haskell. This version contains numerous changes compared to version 0.4, in three broad categories: I made improvements to the performance of some common functions by, in many cases, more than 10x.I have… read moreNew criterion release works on Macs
September 30 2009
And has prettier charts, too, thanks to a patch from Tim Docker. If you already have criterion installed: $ cabal update $ cabal install --reinstall criterion If you want to use criterion on a Mac: $ cabal update $ cabal install criterion -f-chart Alas, on OS X, you’ll lack the ability to… read moreCriterion, a new benchmarking library for Haskell
September 29 2009
I'm pleased to announce the availability of criterion, a new library for measuring the performance of Haskell code. Compared to most other benchmarking frameworks (for any programming language, not just Haskell), criterion focuses on being easy to use, informative, and robust. Here's a canonical benchmark-worthy function, which has the desirable properties of… read moreSeptember 25 2009
I find Lennart Augustsson's Text.Printf module very handy, but also quite baffling. Here is one example of my bafflement: suppose I want to print a piece of text if my program's verbosity level is above a certain threshold, but not otherwise. I'd like to hide that detail in a function,… read moreSeptember 23 2009
Thanks to the tireless work of Malcolm Wallace, all of the video from CUFP now appears to be up up Vimeo, including the keynote talk I gave. Keynote: Real world Haskell. from Malcolm Wallace on Vimeo. read moreA new pseudo-random number generator for Haskell
September 19 2009
I just released version 0.3.3 of the Haskell statistics library, which contains a very fast pseudo-random number generator. The generator is an implementation of George Marsaglia’s MWC256 multiply-with-carry PRNG, which has a period of 28222 (for this reason, it’s sometimes referred to as MWC8222). It produces high-quality uniformly distributed pseudo-random… read moreA video demo of my Haskell benchmarking framework
September 14 2009
Malcolm Wallace has very kindly put a lot of work into publishing video footage from all of the talks at last week’s Haskell Implementor’s Workshop. I gave a very brief, and completely unscripted, demo of the benchmarking framework that I’ve been hacking on. This was code that I’d literally gotten… read moreLazy functional yak shaving in Haskell
September 13 2009
A few weeks ago, I decided that I'd like to focus for a while on getting a 1.0 release of the Haskell text library ready. That work has gone fairly well so far. I've focused on making sure that I like the API, and that a few key functions have… read moreIn which I write again about revision control
September 10 2009
Several months ago, I wrote an article on evaluating revision control systems. It was initially published in ACM Queue a few weeks ago, and the article has now made its way (unchanged) to Communications of the ACM. I’m quite happy with how it turned out, and I hope that people… read moreSlides from my CUFP 2009 keynote talk
September 04 2009
I was delighted to be invited to give the keynote talk at this year’s CUFP workshop in Edinburgh. My talk was this morning, and these are the slides I presented. CUFP 2009 Keynote – Real World HaskellView more documents from Bryan O’Sullivan. The video should be online some time next… read moreHaskell Platform support for Fedora: we’re almost there
August 13 2009
I spent a little time earlier today clarifying the Fedora project’s support for the Haskell Platform. You can read the details here; the summary is that we’re currently four packages short of complete support for the current release of the Haskell Platform. You can install the whole lot with a… read moreFirst steps with Haskell text API improvement
July 06 2009
I've spent a couple of hours over the past few evenings starting to make good on my recent promise to clean up the Haskell text library. This is part progress report, part solicitation of input. I renamed the split function to splitChar: splitChar :: Char -> Text -> [Text] The… read moreJune 30 2009
Now that I’ve got the DEFUN 2009 schedule sorted out (you are coming, aren’t you?), I’ve had time to take a breath and think about the Haskell text library again. Its API is currently a clone of the ancient and venerable Haskell list API. If you’ve used the list API… read moreJune 07 2009
I've released version 0.3 of the Haskell text package to Hackage. It supports the new error handling API that I wrote about the other day, along with proper support for case conversion. What is "proper support for case conversion"? Correctly converting the case of a single Unicode code point can… read more

