Blog Archives

Fitter, happier, more productive UTF-8 decoding

The other night, I had a random whim to spend a couple of minutes looking at the performance of UTF-8 decoding in the Haskell Unicode text package. Actually, rather than look at the actual performance, what I did was use
Posted in haskell, open source

Here be dragons: advances in problems you didn’t even know you had

Here’s something I bet you never think about, and for good reason: how are floating-point numbers rendered as text strings? This is a surprisingly tough problem, but it’s been regarded as essentially solved since about 1990.Prior to Steele and White’s
Posted in haskell, open source, Uncategorized

attoparsec 0.9, a major (and abortive) release [updated]

Update: I just released attoparsec 0.9.1.0, which undoes all of the changes described below. The problem? While removing backtracking, I accidentally changed the semantics of the <|> operator in an unforeseen and unfortunate way. The bug I introduced was that
Posted in haskell

Exciting teaching news

Looks like I’ve got a busy autumn ahead! Read on for two pieces of news that I’m very happy about. In September, I’ll be teaching a Haskell workshop at the Strange Loop Conference in St Louis. Here’s the abstract: Modern
Posted in haskell

A new week, a new JSON performance improvement

It’s been a few weeks since I last wrote about the aeson library for working with JSON in Haskell, but this isn’t because I’ve been idle. In fact, just tonight I put out a new release. Where the previous releases
Posted in haskell, open source

A little care and feeding can go a long way

Sometimes, when a software package meets a certain level of maturity (or the desire to hack on it fades sufficiently), it's tempting to consider it "done". Here's a little tale of when done isn't really done.About a week ago, I
Posted in haskell, open source

CPS is great! CPS is terrible!

Every functional programmer worth their salt seems to end up with at least a few stories to tell about programming in CPS, also known as continuation passing style. Here’s my latest one. As a user of it, you can’t tell
Posted in haskell

Faster, better, cleaner: new aeson and attoparsec releases

I’ve spent some time over the past few weeks improving the performance of the attoparsec parsing library, and of the aeson JSON library. Since they’ve now reached a new plateau of performance and stability, I thought this would be a
Posted in haskell, open source

A small matter of illegal characters

Posted in haskell

GHC 7 I/O manager status update

Posted in haskell