From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 3B9FC7F8BE for ; Fri, 2 May 2014 16:30:04 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of whitequark@whitequark.org) identity=pra; client-ip=176.58.103.125; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="whitequark@whitequark.org"; x-sender="whitequark@whitequark.org"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of whitequark@whitequark.org designates 176.58.103.125 as permitted sender) identity=mailfrom; client-ip=176.58.103.125; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="whitequark@whitequark.org"; x-sender="whitequark@whitequark.org"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail.whitequark.org) identity=helo; client-ip=176.58.103.125; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="whitequark@whitequark.org"; x-sender="postmaster@mail.whitequark.org"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArpqAMSqY1OwOmd9/2dsb2JhbABag1WrEQEBAQEBAQQBgSeaBXSCZAJTeTEbiD0Jlj6zRxMEhVaDPoQxhU0EhFkChSWaK4d0gzk4 X-IPAS-Result: ArpqAMSqY1OwOmd9/2dsb2JhbABag1WrEQEBAQEBAQQBgSeaBXSCZAJTeTEbiD0Jlj6zRxMEhVaDPoQxhU0EhFkChSWaK4d0gzk4 X-Spam-Status: Yes X-IronPort-AV: E=Sophos;i="4.97,972,1389740400"; d="scan'208";a="71681528" Received: from fehu.whitequark.org (HELO mail.whitequark.org) ([176.58.103.125]) by mail2-smtp-roc.national.inria.fr with ESMTP; 02 May 2014 16:29:57 +0200 Received: by mail.whitequark.org (Postfix, from userid 33) id 0DCBA4D728; Fri, 2 May 2014 14:29:56 +0000 (UTC) To: caml-list X-PHP-Originating-Script: 1000:rcube.php MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Fri, 02 May 2014 18:29:55 +0400 From: Peter Zotov Message-ID: <6232dace806569a16f7fbfaa1689ef42@whitequark.org> X-Sender: whitequark@whitequark.org User-Agent: Roundcube Webmail/1.0.0 Subject: [Caml-list] [ANN] ppx_protobuf Greetings. I have just released the first version of ppx_protobuf, a complete Protocol Buffers implementation. Unlike Google's implementation, ppx_protobuf derives the message structure directly from OCaml type definitions, which allows a much more seamless integration with OCaml's types. In particular, ppx_protobuf natively supports sum types, while maintaining full backwards compatibility with protoc. ppx_protobuf uses the extension points API, and thus requires a recent (>= 2014-04-29) 4.02 (trunk) compiler. It also requires an unreleased version of ppx_tools. It is probably easiest to install both from the source repositories[1][2]. The API is extensively documented at [3]. [1]: https://github.com/whitequark/ocaml-ppx_protobuf.git [2]: https://github.com/alainfrisch/ppx_tools.git [3]: https://github.com/whitequark/ocaml-ppx_protobuf/blob/master/README.md -- WBR, Peter Zotov.