[ANN] protobuf-simple: Protocol Buffers library

Hello, I've just released protobuf-simple, an Haskell implementation of Google's Protocol Buffers with an emphasis on simplicity. This implementation consists of a library for the encoding and decoding of data and an executable for generating Haskell types from proto files. The code can be found at https://github.com/sru-systems/protobuf-simple Kind regards, Martijn Rijkeboer

How does this compare to https://hackage.haskell.org/package/protobuf? On Monday, April 4, 2016 at 12:32:24 PM UTC-7, Martijn Rijkeboer wrote:
Hello,
I've just released protobuf-simple, an Haskell implementation of Google's Protocol Buffers with an emphasis on simplicity. This implementation consists of a library for the encoding and decoding of data and an executable for generating Haskell types from proto files.
The code can be found at https://github.com/sru-systems/protobuf-simple
Kind regards,
Martijn Rijkeboer
_______________________________________________ Haskell-Cafe mailing list Haskel...@haskell.org javascript: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

How does this compare to https://hackage.haskell.org/package/protobuf?
It uses "simpler" types. The Foo type in protobuf would be like the following (from the manual): data Foo = Foo { field1 :: Required 1 (Value Int64) , field2 :: Optional 2 (Value Text) , field3 :: Repeated 3 (Value Bool) } deriving (Generic, Show) In protobuf-simple it would be like the following: data Foo = Foo { field1 :: Int64 , field2 :: Maybe Text , field3 :: Seq Bool } deriving (Show, Eq, Ord) Besides this, protobuf-simple uses newtypes for messages with only one field (something we use very often). Kind regards, Martijn Rijkeboer

Isn't http://hackage.haskell.org/package/protocol-buffers doing the same
thing with records?
On Tue, 5 Apr 2016 at 07:30, Martijn Rijkeboer
How does this compare to https://hackage.haskell.org/package/protobuf?
It uses "simpler" types. The Foo type in protobuf would be like the following (from the manual):
data Foo = Foo { field1 :: Required 1 (Value Int64) , field2 :: Optional 2 (Value Text) , field3 :: Repeated 3 (Value Bool) } deriving (Generic, Show)
In protobuf-simple it would be like the following:
data Foo = Foo { field1 :: Int64 , field2 :: Maybe Text , field3 :: Seq Bool } deriving (Show, Eq, Ord)
Besides this, protobuf-simple uses newtypes for messages with only one field (something we use very often).
Kind regards,
Martijn Rijkeboer
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

Isn't http://hackage.haskell.org/package/protocol-buffers doing the same thing with records?
They're quite similar, however protobuf-simple uses Data.Text instead of Data.ByteString for strings. Furthermore it generates newtypes instead of data types for messages with only one field. Kind regards, Martijn Rijkeboer
participants (3)
-
Andrey Sverdlichenko
-
Martijn Rijkeboer
-
Mitchell Rosen