piqi-ocaml update

21 views
Skip to first unread message

Anton Lavrik

unread,
Feb 5, 2014, 4:14:21 AM2/5/14
to pi...@googlegroups.com
Hello all,

I'm happy to announce that Piqi for OCaml has been moved to its own separate repository and now lives at https://github.com/alavrik/piqi-ocaml

Along with that, there were some pretty big changes:

- piqic-ocaml (formerly called "piqic ocaml") is rewritten on top of "piqi compile". This provided a new solid foundation and led to a much simpler and cleaner implementation
- a lot more separation between piqi-ocaml and piqilib interfaces. Now that they are going to be released and packaged separately, this becomes critical
- the runtime library is now comes as two ocamlfind packages: "piqirun.pb" (for Protobuf serialization) and "piqirun.ext" (for multi-format serialization)
- generation of minimally serializable values, previously triggered by piqic ocaml --gen-defaults flag, is now always enabled

For both piqi and piqi-ocaml codebases:

- remove dependency on custom CamlP4 extensions (pa_labelscope is kept around a part of piqilib if somebody still needs it)
- dropped support for OCaml 3.11
- the opam repository for development versions of piqilib and piqi-ocaml[1] has been updated accordingly.

As a side effect, the main piqi repository and the codebase became a lot lighter and simpler. It now builds in 1/3 the time it used to and essentially builds in 1 step instead of 4.

There were a couple of minor functional additions in both piqi-ocaml and piqi. I'll be announcing them separately on piqi-ocaml v0.7.0 release some time later.

One more notable thing. piqic-ocaml is the second generator backend written on top of "piqi compile" interfaces. The first one was piqic-erlang. If you look at the code, you'll notice that their code is almost identical despite of one being written in OCaml and another one in Erlang. Together they make a great example of how piqi generators can be written (hint: it's actually really easy).

Enjoy!

Anton

Reply all
Reply to author
Forward
0 new messages