Here is the latest OCaml Weekly News, for the week of December 12 to 19, 2017.
Archive: https://discuss.ocaml.org/t/ann-ppx-4-06-editions-ppx-import-ppx-deriving-ppx-deriving-protobuf-yojson/1264/1gasche announced:
Over the last few months, we have released 4.06-compatibility versions of [ppx_deriving](https://github.com/ocaml-ppx/ppx_deriving) and its plugins [ppx_deriving_protobuf](https://github.com/ocaml-ppx/ppx_deriving_protobuf) and [ppx_deriving_yojson](https://github.com/ocaml-ppx/ppx_deriving), and the related project [ppx_import](https://github.com/ocaml-ppx/ppx_import): - ppx_import [1.3](https://github.com/ocaml-ppx/ppx_import/releases/tag/v1.3) and [1.4](https://github.com/ocaml-ppx/ppx_import/releases/tag/v1.4) - ppx_deriving [4.1.5](https://github.com/ocaml-ppx/ppx_deriving/releases/tag/v4.1.5) and [4.2.1](https://github.com/ocaml-ppx/ppx_deriving/releases/tag/v4.2.1) - ppx_deriving_protobuf [2.6](https://github.com/ocaml-ppx/ppx_deriving_protobuf/releases/tag/v2.6) - ppx_deriving_yojson [3.1](https://github.com/ocaml-ppx/ppx_deriving_yojson/releases/tag/v3.1) Some users may remember that it took a long time for support for OCaml 4.05 to come to these projects, and know that there have been some lingering issues related to interaction between ppx_deriving and driverized ppxes -- some of which have been fixed by @diml's work on these issues, see [the separate announce](https://discuss.ocaml.org/t/ppx-deriving-ppx-type-conv-and-jbuilder-things-should-be-better-now/1212) on the interaction between ppx_deriving, ppx_type_conv and jbuilder. The main reason for these delays and trouble is that, while the author and maintainer of ppx_deriving and plugins, @whitequark, let me know several months ago that she would be less active maintaining these libraries in the future, I have been too slow to fill in this maintenance gap. Now that I understand the release process and the amount of work required to adapt to a new OCaml release (which is not much), I expect that support releases for newer OCaml versions, starting with 4.07, will be much smoother -- the hope is to release them before the OCaml version itself. If you have been using these projects (especially if you have already contributed some code, but that is no requirement), now is an excellent time to get more involved in the development. I will take care of compatibility with future OCaml releases, and simple bugfixes, but there are interesting changes to be discussed for these libraries (partial or complete migration to ocaml-migrate-parsetree, driverization, convergence with ppx_type_conv, and in general participation in the rapidly-evolving ppx ecosystem) on which your help would be very welcome, and more active contributors, more voices to discuss decisions, can only improve the project.
Archive: https://discuss.ocaml.org/t/ocaml-gist-0-0-1/1278/1Sander announced:
It's my pleasure to announce the initial version of ocaml-gist. It's still a bit rough, but I believe it shows great potential already: https://sanderspies.github.io/ocaml-gist/. Do note that for now it only supports OCaml 4.04.2. ocaml-gist allows you to execute OCaml code on any webpage with no server needed. It also provides autocomplete and type info hover with the help of a modified version of Merlin that runs on the web. I wrote an article that describes the technology used by ocaml-gist in more detail: https://sanderspies.github.io/ocaml-gist/blog.html. As always, feedback is very welcome.
Archive: https://discuss.ocaml.org/t/new-release-proverif-1-98/1294/1Bruno Blanchet announced:
I am pleased to announce a new release of ProVerif, version 1.98. ProVerif is a automatic security protocol verifier that relies on the symbolic model of cryptography. ProVerif is available at http://proverif.inria.fr It is also available via opam (see installation instructions in Section 1.4 of the manual http://proverif.inria.fr/manual.pdf ) The main novelty is an interactive simulator by Marc Sylvestre and I, which allows you to run your protocol step by step interactively (see Section 3.4 of the manual).
Archive: https://discuss.ocaml.org/t/logarion-static-website-generation/1297/1Orbifx announced:
Logarion v0.3 release candidate adds static website generation from archive. https://gitlab.com/orbifx/logarion/tags/v0.3rc Far from polished, it should be usable now. I'll go through a phase of documentation, hoping to get some feedback meanwhile. Generate static website from a Logarion archive: logarion_cli convert "html" Where `html` is the folder to save the HTML files and static directory. Important changes: - Templates should not contain HTML code in preparation for more conversion formats - Started relativizing links for portability of static pages
Archive: https://discuss.ocaml.org/t/ann-release-of-mesh-0-9-1/1305/1Christophe announced:
It is my pleasure to announce the release of _mesh_, _mesh-triangle_ (binding to [Triangle](https://www.cs.cmu.edu/~quake/triangle.html)), _mesh-graphics_ and _mesh-easymesh_ version 0.9.1. These packages provide functions to create and represent 2D triangular meshes, useful for example for the _finite element method_.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2017-12/msg00064.htmlLouis Mandel announced:
We are happy to announce the new release of WCS-OCaml (https://ibm.github.io/wcs-ocaml/) a library to write chatbots in OCaml using Watson Conversation Service (https://www.ibm.com/watson/services/conversation/). The library can be installed using opam: opam install wcs
Archive: https://discuss.ocaml.org/t/ann-nanocaml-compiler-writing-framework-for-nanopasses/1311/1Ohad Rau announced:
I am very excited to announce the release of [Nanocaml](https://github.com/nanocaml/nanocaml)! Nanocaml is a port/clone of the Nanopass framework for Scheme and Racket (can't put a link here, but it will be the first result if you search for "Nanopass framework") and provides a PPX-powered toolkit for writing compilers. It emphasizes the use of many tiny passes, similar to the UNIX philosophy but for compilers. Although the version is 0.1.0, it is already very close to the Scheme and Racket versions in terms of features and has a number of advantages (such as static typechecking, the OCaml syntax, and less "magic"). We are almost at our 1.0 target, but we wanted to release this version earlier to get feedback and hopefully more test code. The README has a basic explanation of how to use the library, and in addition to our examples we have ported [the compiler from the Racket docs](https://github.com/nanocaml/nanocaml). Our 2 main limitations at this moment are the following: * `module%language` declarations don't carry over between files, which makes it tedious to work with in `utop`. Our expected solution is to generate a SQLite database file storing language declarations from a project, but we are open to other ideas. * Aliases don't always work in patterns. This is a known issue and will likely be solved in the next commit as it doesn't seem like it will be a difficult fix. If you have any questions about using the library please feel free to ask! We would love to get new users and more feedback on this!
Here are links from many OCaml blogs aggregated at OCaml Planet, http://ocaml.org/community/planet/. Coq 8.7.1 is out https://coq.inria.fr/news/141.html testing ocaml-migrate-parsetree with `ppx_deriving_crowbar` https://ocamllabs.github.io//general/2017/12/14/DerivingCrowbar.html
If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.
If you also wish to receive it every week by mail, you may subscribe online.