c2hs is a pre-processor for Haskell FFI bindings to C libraries