Closed photm5 closed 9 years ago
There’s also protobuf-native
(Makes use of C++ code generated by the official generator, probably by just creating bindings to it) and protocol-buffers
. The protobuf
package seems to implement a DSL in Haskell, and there might be a “converter” that generates readable code in this DSL. We’ll need to decide.
I just read two blog posts of the author of protobuf
. He states that protocol-buffers
is a stable and useful library, and explains how his approach is different: He doesn’t generate haskell code from protocol buffer specifications, but instead generates protocol buffer specifications from haskell code. I’m not sure how useful this would be to us, as we want to use a predefined spec.
I decided in favor of protocol-buffers
, as it seems the most stable. Also, there is a tool called hprotoc
that allows compilation of .proto specs to Haskell modules.
The protocol we’ll implement does a lot of serialization using google’s protocol buffers. The
protobuf
package enables us to generate haskell code that does the parsing and dumping.