Previous week Up Next week

Hello

Here is the latest OCaml Weekly News, for the week of December 12 to 19, 2017.

  1. ppx 4.06 editions: ppx_import, ppx_deriving, ppx_deriving_{protobuf,yojson}
  2. Ocaml-gist 0.0.1
  3. New release: ProVerif 1.98
  4. Logarion - static website generation
  5. Release of Mesh 0.9.1
  6. wcs-ocaml: chatbots in OCaml
  7. Nanocaml - Compiler-writing framework for nanopasses
  8. Other OCaml News

ppx 4.06 editions: ppx_import, ppx_deriving, ppx_deriving_{protobuf,yojson}

Archive: https://discuss.ocaml.org/t/ann-ppx-4-06-editions-ppx-import-ppx-deriving-ppx-deriving-protobuf-yojson/1264/1

gasche 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.
      

Ocaml-gist 0.0.1

Archive: https://discuss.ocaml.org/t/ocaml-gist-0-0-1/1278/1

Sander 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.
      

New release: ProVerif 1.98

Archive: https://discuss.ocaml.org/t/new-release-proverif-1-98/1294/1

Bruno 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).
      

Logarion - static website generation

Archive: https://discuss.ocaml.org/t/logarion-static-website-generation/1297/1

Orbifx 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
      

Release of Mesh 0.9.1

Archive: https://discuss.ocaml.org/t/ann-release-of-mesh-0-9-1/1305/1

Christophe 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_.
      

wcs-ocaml: chatbots in OCaml

Archive: https://sympa.inria.fr/sympa/arc/caml-list/2017-12/msg00064.html

Louis 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
      

Nanocaml - Compiler-writing framework for nanopasses

Archive: https://discuss.ocaml.org/t/ann-nanocaml-compiler-writing-framework-for-nanopasses/1311/1

Ohad 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!
      

Other OCaml News

From the ocamlcore planet blog:
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
      

Old cwn

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.


Alan Schmitt