Ten Cache Misses
Crushing Haskell like a Tin Can. Thoughts on functional programming, tooling, and building resilient systems.
Latest posts
Generics and Protocol Buffers: The Hackage Years
Last year I spent some time exploring GHC.Generics as a language for describing Protocol Buffers messages. Steve and I pushed just hard enough to get a real implementation out the door and it’s finally available on Hackage.
Ragel primops and the GHC stack
Quite a few people have been asking about a follow up to an old post, specifically on dealing with passing return values on the stack from our C/LLVM based primop. I ended up with some unexpected free time today on the Caltrain waiting for a crushed tractor-trailer to get cleared off the tracks and dusted off a semi-functional feed parser in the style of Tsuru’s code sample. Sample data for is much easier to find than NASDAQ’s ITCH feed, I hope it’s also easier for you to get started with.
Cabal: a Haskell eDSL?
While I’m working on more radical ideas about Hackage and Cabal, I thought I’d stick out a couple more palatable ones now.
Updatable timeouts for your transformer stacks
A relatively common issue we have dealing with pubsub services on the internet is reliability. Conceptually it should be simple: connect, subscribe and then data flows magically for the rest of time. Reality comes well short of our desires. We use a very large pubsub service to consume 140 character messages… and sometimes it just decides to stop sending new messages after a few days. They’re not alone either. The timeout function in base almost does what we want but falls short in one key area: extending the timeout duration.