Quantcast
Bryan O'Sullivan

http://twitter.com/bos31337

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

Bryan O'Sullivan is an Irish writer and developer who works with distributed systems, open source software, and programming languages. He wrote the award-winning O'Reilly title Real World Haskell. He has made significant contributions to the popular Mercurial revision control system, and to a number of other open source projects. He lives in San Francisco with his family. Whenever he can, he runs off to climb rocks.

Books

Mercurial: The Definitive Guide Mercurial: The Definitive Guide
by Bryan O'Sullivan
June 2009
Print: $39.99
Ebook: $35.99

Real World Haskell Real World Haskell
by Bryan O'Sullivan , John Goerzen , Donald Bruce Stewart
November 2008
Print: $49.99
Ebook: $39.99

starstarstarstarstar (5)
(Read Reviews)

Articles

Blog

Bryan's blog posts are hosted at:
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 more

Announcing 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 more

New 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 more

Criterion, 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 more

Riddle me this

September 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 more

Video of my CUFP keynote

September 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 more

A 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 more

A 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 more

Lazy 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 more

In 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 more

Slides 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 more

Haskell 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 more

First 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 more

What’s in a text API?

June 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 more

Case conversion and text 0.3

June 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
Bryan O'Sullivan