Found caolan's article interesting in that I'm currently coding a binary parser for work (unfortunately not opensource currently). Its target app is the ICE front-end we use to debug x86 chips. x86's have tons of registers & tables in odd-ball formats such as the GDT. Writing or maintaining code to display & edit them is obviously a waste of time. So instead I specify a grammar corresponding to the format of the registers or memory areas. So I now have some 700 lines of Haskell code that parse the ascii grammar file & desugar it. I have yet to code the bitparser itself. However, unlike what caolan wants, it does not need to cope with pointers or structures whose length is specified in the bitstream being bitparsed -- hardware doesn't do that often enough to warrant the extra complexity.
Other than that, played with glade which looks like it could save me some time. Also got Simon Marlow's happy haskell parser to build with ghc 4.06. It works on my haskell code except for the period in "forall a . " in existential type declarations. Finally downloaded the Aqua gtk theme, which I really like. :-).