Version 1.0.0 of Haskell "port" of Google Protocol-Buffers
Chris Kuklewicz
haskell at list.mightyreason.com
Sat Nov 15 18:02:21 EST 2008
Hello one and all,
Amid much editing, my Haskell version of protocol-buffer is now
released at version 1.0.0. This version supports the feaures of Google's
version 2.0.2 including the new extensible options.
What is this for? What does it do? Why?
It generates Haskell data types that can be converted back and forth to lazy
ByteStrings that interoperate with Google's generated code in C++/Java/python.
The data types are defined in a ".proto" text file which is translated into
the target language.
My code is a pure Haskell re-implementation of the Google code at
http://code.Google.com/apis/protocolbuffers/docs/overview.html
which is "...a language-neutral, platform-neutral, extensible way of
serializing structured data for use in communications protocols, data storage,
and more."
Google's project produces C++, Java, and Python code. This one produces
Haskell code.
Where is the code?
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/protocol-buffers
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/protocol-buffers-descriptor
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hprotoc-1.0.0
And it needs to be build and installed in the above order. The first is the
support library (Text.ProtocolBuffers). The second is the self-describing
descriptor library (Text.DescriptorProtos[.Options]). The third is the
'hprotoc' executable which translates the ".proto" files into Haskell code.
This works similarly to the "protoc" program from the original Google project.
Cheers,
Chris
More information about the Libraries
mailing list