[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