Haskell in the Real World discussion at CUFP

25 August 2010 · 0 min · Bryan O'Sullivan

Converting a Mercurial tree repeatedly with files removed

Here’s a useful little tip if you need to use hg convert to generate a stripped-down copy of a Mercurial repository. For instance, maybe we have a tree that someone committed a large file to by accident, or perhaps someone accidentally checked some closed source code into an open source tree. If such a commit makes it into a busy repository, it can be a while before anyone notices. Worse, we can’t necessarily expect everyone who’s downstream of that repository to immediately drop everything they’re doing and find a way to switch over to the freshly-scrubbed tree you want to publish. ...

10 August 2010 · 3 min · Bryan O'Sullivan

Budding Aspen, Sierra Palisades

[!DSC_0243](http://www.flickr.com/photos/bosu/4729810316/)

5 August 2010 · 1 min · Bryan O'Sullivan

PADL ’11 call for papers

22 July 2010 · 0 min · Bryan O'Sullivan

GHC I/O manager progress: ready to merge, and paper accepted!

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 new I/O manager has been accepted. The reviewers had some very helpful suggestions for how we can clarify the paper and improve its presentation, so I’ll be working on a final draft over the next couple of weeks (I’m currently on vacation in Ireland, so paper revisions aren’t yet at the top of my priority list). ...

13 July 2010 · 1 min · Bryan O'Sullivan

What’s in a find function?

2 July 2010 · 0 min · Bryan O'Sullivan

Sightings of the GHC event manager in the wild

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 Symposium at about 2am this morning. ...

14 June 2010 · 1 min · Bryan O'Sullivan

What’s in a parser? Attoparsec rewired (2/2)

In my first of this pair of articles, I laid out some of the qualities I’ve been looking for in a parsing library. Before I dive back into detail, I want to show off some numbers. The new Attoparsec code is fast. !Performance What did I benchmark? I captured some real HTTP GET requests from a live public web server, averaging 431 bytes per request. I chucked them into a file, and measured the time needed to parse the entire contents of the file with the following libraries: ...

3 March 2010 · 4 min · Bryan O'Sullivan

What’s in a parsing library? (1/2)

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 thoroughly in hand), the next thing I’d look for is libraries to help build networked applications. One of the fundamental things that such apps need to do well is parse data, be it received from the network or read from files. ...

3 March 2010 · 3 min · Bryan O'Sullivan

Minuscule linkscrape of mischief

While I’ve been in my corner hacking on low-level Haskell nonsense, apparently someone figured out how to make the internets more better. To wit, a few judiciously curated sources of visual edification: for great justice unhappy hipsters riot right click

30 January 2010 · 1 min · Bryan O'Sullivan