[cwn] Attn: Development Editor, Latest OCaml Weekly News

Alan Schmitt alan.schmitt at polytechnique.org
Tue Aug 6 00:22:25 PDT 2019


Hello

Here is the latest OCaml Weekly News, for the week of July 30 to 
August
06, 2019.

Table of Contents
─────────────────

OCaml 4.08.1+rc3
Ideal OCaml setups with VIM, Emacs, IntelliJ/IDEA?
KV database (nosql) recommended for Mirage?
A library for Commitment Schemes
Old CWN


OCaml 4.08.1+rc3
════════════════

  Archive:
  <https://sympa.inria.fr/sympa/arc/caml-list/2019-08/msg00004.html>


Florian Angeletti announced
───────────────────────────

  The release of OCaml version 4.08.1 is expected for next week.

  Before this happy event, we are releasing a third and last 
  release
  candidate.  This new release integrates two configuration fixes 
  from
  Debian and Fedora with the rc2 fixes for compilation failures in
  presence of "-pack" reported by Fabian @copy (breaking 
  nocrypto), and
  dynlinking failures in bytecode mode reported by Andre Maroneze
  (breaking Frama-C).

  The source code is available at these addresses:

   <https://github.com/ocaml/ocaml/archive/4.08.1+rc3.tar.gz>
   <https://caml.inria.fr/pub/distrib/ocaml-4.08/ocaml-4.08.1+rc3.tar.gz>

  The compiler can also be installed as an OPAM switch with one of 
  the
  following commands:

  ┌────
  │ opam switch create ocaml-variants.4.08.1+rc3 
  --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
  └────

  or

  ┌────
  │ opam switch create ocaml-variants.4.08.1+rc3+<VARIANT> 
  --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
  └────

  where you replace <VARIANT> with one of these:
  • afl
  • default-unsafe-string
  • force-safe-string
  • flambda
  • fp
  • fp+flambda

  We want to know about any bugs. Please report them here:
    <https://github.com/ocaml/ocaml/issues>

  Happy hacking, — Florian Angeletti, for the OCaml team.


OCaml 4.08.1 rc3:
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

◊ Bug fixes:

  • #7887: ensure frame table is 8-aligned on ARM64 and PPC64   
  (Xavier
    Leroy, report by Mark Hayden, review by Mark Shinwell    and 
    Gabriel
    Scherer)

  • #8751: fix bug that could result in misaligned data section 
  when
     compiling to   native-code on amd64.  (observed with the 
     mingw64
     compiler)   (Nicolás Ojeda Bär, review by David Allsopp)

  • #8769, #8770: Fix assertion failure with -pack   (Leo White, 
  review
    by Gabriel Scherer, report by Fabian @copy)

  • #8816, #8818: fix loading of packed modules with Dynlink 
  (regression
    in   #2176).    (Leo White, report by Andre Maroneze, review 
    by
    Gabriel Scherer)

  • #8830: configure script: fix tool prefix detection and 
  Debian's
    armhf   detection   (Stéphane Glondu, review by David Allsopp)

  • #8843, #8841: fix use of off_t on 32-bit systems.    (Stephen 
  Dolan,
    report by Richard Jones, review by Xavier Leroy)


Ideal OCaml setups with VIM, Emacs, IntelliJ/IDEA?
══════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ideal-ocaml-setups-with-vim-emacs-intellij-idea/4037/6>


Deep in this thread, Anton Kochkov said
───────────────────────────────────────

  A small update: the OCaml and Dune runtime files landed in 
  NeoVim as
  well, so you can already try them if you use it from git:
  <https://github.com/neovim/neovim/commit/87140f234ac1f152f6f273dee5ab1e42c7b1d78b>


KV database (nosql) recommended for Mirage?
═══════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/kv-database-nosql-recommended-for-mirage/4191/1>


Orbifx asked
────────────

  Which KV database would you recommend for applications intended 
  to
  build as Mirage Unikernels?


Calascibetta Romain replied
───────────────────────────

  Currently, when we need to make a KV-store with MirageOS, we use
  [irmin] as an high-level KV-store. Then, it provides some 
  back-end
  like [git]. A tutorial can be found [here]. So, we currently 
  prepare
  some releases of several packages around [MirageOS] and [irmin], 
  so
  you currently need to `pin' some packages.

  Example of how to use Irmin with Git backend and MirageOS can be 
  found
  here:
  • A static blog engine [Canopy]
  • Some [unikernels] around DNS and iCalendar services
  • A [_paste-bin_] with [httpaf]


[irmin] <https://github.com/mirage/irmin>

[git] <https://github.com/mirage/ocaml-git>

[here] 
<https://zshipko.github.io/irmin-tutorial/Introduction.html>

[MirageOS] <https://github.com/mirage/mirage/issues/994>

[irmin] <https://github.com/mirage/irmin/issues/658>

[Canopy]
<https://github.com/Engil/Canopy/pull/95#issuecomment-507755522>

[unikernels] <https://github.com/roburio/unikernels/>

[_paste-bin_] <https://github.com/dinosaure/pasteur>

[httpaf] <https://github.com/inhabitedtype/httpaf/>


Orbifx then asked
─────────────────

  What about `mirage-kv' in opam?

  I don't believe I need the overhead of the git store; can Irmin 
  work
  without accumulating a history and any overhead of that?


Calascibetta Romain replied
───────────────────────────

  So `mirage-kv', as some others packages in Mirage, is just an
  interface. Then, you have some possibilities:
  • make your own `mirage-kv' implementation (which can be a 
  simple
    `hashtbl')
  • use something like `irmin' which respects this interface

  Then, it's mostly about what you want exactly. MirageOS does not 
  have
  a proper file-system at the beginning and we use in some ways 
  `git' to
  obtain persistence (where, when your unikernel will shutdown, 
  you will
  lost contents). So, the idea is to have a KV-store inside the
  unikernel and a way to synchronize this KV-store with a remote
  repository - and, of course, we took the advantage of git, 
  behind this
  idea (however, as I said, you can use/implement something else).

  Then, with [functoria] you can easily orchestrate the 
  compilation of
  your _unikernel_ to choose which will implement the `mirage-kv'
  signature.


[functoria] <https://github.com/mirage/functoria>


Orbifx then asked
─────────────────

  Sorry I meant to ask what about `mirage-kv-unix'. Is that with a 
  git
  backend? Doesn't it have any history related overhead or is it a 
  plain
  mutable RW backend?


Hannes Mehnert replied
──────────────────────

  there's [mirage-kv-mem] which is not persistent, using a Map.t 
  for
  storing data.

  there's as well [mirage-kv-unix] which is only available on unix
  (i.e. not if you're running a freestanding unikernel), and uses 
  the
  file system as persistent backing store.

  both of them don't contain a history and are fine to use in 
  certain
  programs! :)

  (so, yes, mirage-kv-unix is persistent and without git)


[mirage-kv-mem] <https://github.com/mirage/mirage-kv-mem>

[mirage-kv-unix] <https://github.com/mirage/mirage-kv-unix>


A library for Commitment Schemes
════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/a-library-for-commitment-schemes/4208/1>


Marco Aurélio da Silva announced
────────────────────────────────

  Hi folks! Proudly I announce the stable version of a library for
  Commitment Schemes using an underlying/implemented AEAD 
  (Authenticated
  Encryption with Associated Data) module. This library also uses 
  a KDF
  (Key Derivation Function) package to make the implemented AEAD a
  Committing Encryption. Future plans might include user-level
  configuration of the KDF (for instance, the number of cycles) 
  and also
  to split and expose the Committing Authenticated Encryption 
  module
  into an external library.

  All code of the Committing AEAD module was inspired on the paper
  _Message Franking via Committing Authenticated Encryption_. This 
  1.0.0
  library can be installed with:

  ┌────
  │ opam install nocoiner
  └────

  A command-line interface is also provided on the package. The 
  Docker
  image with only this CLI interface can be installed with:

  ┌────
  │ docker pull marcoonroad/nocoiner
  └────

  The executable is available at `/usr/bin/nocoiner' inside the 
  image.

  For the project documentation, please refer to:
  <https://nocoiner.marcoonroad.dev>

  PRs and issues are welcome. The repository is hosted at:
  <https://github.com/marcoonroad/nocoiner>

  Thanks in advance and happy hacking. o/


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]


[send me a message] <mailto:alan.schmitt at polytechnique.org>

[the archive] <http://alan.petitepomme.net/cwn/>

[RSS feed of the archives] 
<http://alan.petitepomme.net/cwn/cwn.rss>

[online] <http://lists.idyll.org/listinfo/caml-news-weekly/>

[Alan Schmitt] <http://alan.petitepomme.net/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20190806/bc153eaa/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20190806/bc153eaa/attachment-0001.pgp>


More information about the caml-news-weekly mailing list