[ANN] protobuf-simple: Protocol Buffers library

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] protobuf-simple: Protocol Buffers library

Martijn Rijkeboer-2
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
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] protobuf-simple: Protocol Buffers library

Mitchell Rosen
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 <a href="https://github.com/sru-systems/protobuf-simple" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\75https%3A%2F%2Fgithub.com%2Fsru-systems%2Fprotobuf-simple\46sa\75D\46sntz\0751\46usg\75AFQjCNGEjcEA6jmkA3oCYsv0hyMf7ds3Hg&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\75https%3A%2F%2Fgithub.com%2Fsru-systems%2Fprotobuf-simple\46sa\75D\46sntz\0751\46usg\75AFQjCNGEjcEA6jmkA3oCYsv0hyMf7ds3Hg&#39;;return true;">https://github.com/sru-systems/protobuf-simple

Kind regards,


Martijn Rijkeboer

_______________________________________________
Haskell-Cafe mailing list
<a href="javascript:" target="_blank" gdf-obfuscated-mailto="muTzSPWcIwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">Haskel...@...
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fhaskell-cafe\46sa\75D\46sntz\0751\46usg\75AFQjCNH7sFgl7KfuDcDlaGGG3ip3kRaoIA&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\75http%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fhaskell-cafe\46sa\75D\46sntz\0751\46usg\75AFQjCNH7sFgl7KfuDcDlaGGG3ip3kRaoIA&#39;;return true;">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] protobuf-simple: Protocol Buffers library

Martijn Rijkeboer-2
> 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
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] protobuf-simple: Protocol Buffers library

Martijn Rijkeboer-2
In reply to this post by Martijn Rijkeboer-2
Hi Alain,

> What version of Protocol Buffer are you supporting (I did not find this
> info, sorry) ? Are you planning on supporting the V3 if  you don't
> already?

The protobuf-simple library only supports V2. The version wasn't specified
anywhere, my bad. I've just added it to the readme. Currently I have
no plans supporting V3, since I have no use for it. However, pull requests
are always welcome, providing that the library remains "simple".

Kind regards,


Martijn Rijkeboer

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] protobuf-simple: Protocol Buffers library

Andrey Sverdlichenko
In reply to this post by Martijn Rijkeboer-2
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 <[hidden email]> wrote:
> 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
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] protobuf-simple: Protocol Buffers library

Martijn Rijkeboer-2
> 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

_______________________________________________
Haskell-Cafe mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe