OCaml Weekly News
Hello
Here is the latest OCaml Weekly News, for the week of October 09 to 16, 2018.
Table of Contents
Next OUPS meetup October 23rd 2018
Bruno Bernardo announced
The next OUPS meetup will take place on Tuesday, October 23, 7pm at IRILL on the Jussieu campus. As usual, we will have a few talks, followed by pizzas and drinks.
The talks will be the following:
- Jacques Garrigue, Lightweight linearly-typed programming with lenses and monads
- Yann Régis-Gianas, Learn OCaml
- Gabriel Scherer, Porting the OCaml parser of the compiler from ocamlyacc to Menhir
Please do note that we are always in demand of talk proposals for future meetups.
To register, or for more information, go here: https://www.meetup.com/ocaml-paris/events/255450340
Registration is required! Access is not guaranteed after 7pm if you're not registered. (It also helps us to order the right amount of food.)
Access map:
IRILL - Université Pierre et Marie Curie (Paris VI)
Barre 15-16 1er étage
4 Place Jussieu
75005 Paris
https://www.irill.org/pages/access.html
The meetup organizers.
Dune 1.4.0
Rudi Grinberg announced
The dune team is pleased to announce the 1.4.0 release of Dune. The highlight of this release is the improved support for menhir, in particular the long awaited --infer
flag. This seemingly small feature took quite a bit of coordination between the maintainers of dune and menhir. So I'd like to thank @fpottier for helping us out with this by adding better support for dune in menhir itself, and implementing the majority of the support in dune as well.
The rest of the release is mostly bug fixes, but one notable feature is that dune is now C-c
friendly. Dune will now resume exactly where it's stopped after interruption instead of restarting the entire build.
Here is the full change log:
1.4.0 (10/10/2018)
- Do not fail if the output of
ocamlc -config
doesn't includestandard_runtime
(#1326, @diml) - Let
Configurator.V1.C_define.import
handle negative integers (#1334, @Chris00) - Re-execute actions when a target is modified by the user inside
_build
(#1343, fix #1342, @diml) - Pass
--set-switch
to opam (#1341, fix #1337, @diml) - Fix bad interaction between multi-directory libraries the
menhir
stanza (#1373, fix #1372, @diml) - Integration with automatic formatters (#1252, fix #1201, @emillon)
- Better error message when using
(self_build_stubs_archive ...)
and(c_names ...)
or(cxx_names ...)
simultaneously. (#1375, fix #1306, @nojb) - Improve name detection for packages when the prefix isn't an actual package (#1361, fix #1360, @rgrinberg)
- Support for new menhir rules (#863, fix #305, @fpottier, @rgrinberg)
- Do not remove flags when compiling compatibility modules for wrapped mode (#1382, fix #1364, @rgrinberg)
- Fix reason support when using
staged_pps
(#1384, @charlesetc) - Add support for
enabled_if
inrule
,menhir
,ocamllex
,ocamlyacc
(#1387, @diml) - Exit gracefully when a signal is received (#1366, @diml)
- Load all defined libraries recursively into utop (#1384, fix #1344, @rgrinberg)
- Allow to use libraries
bytes
,result
anduchar
withoutfindlib
installed (#1391, @nojb) - Take argument to self_build_stubs_archive into account. (#1395, @nojb)
- Fix bad interaction between
env
customization and vendored projects: when a vendored project didn't have its ownenv
stanza, theenv
stanza from the enclosing project was in effect (#1408, @diml) - Fix stop early bug when scanning for watermarks (#1423, @struktured)
State of OCaml and web assembly
Carmelo Piccione asked
I spent some time studying various ways the OCaml compiler can produce web assembly and interpret or depend on other web assembly libraries. The landscape is quite confusing. Does anyone have experience with OCaml and web assembly? Is there a reliable project to bet on and start developing with? What about interop with other libraries that compile to wasm and you want to reference in OCaml? Here's a list of the projects I have discovered which seem relevant. Would appreciate insights on whether they are being maintained, or if anybody has noteworthy experience with them:
ocamlrun-wasm: https://github.com/sebmarkbage/ocamlrun-wasm
> This is a build script for building the OCaml bytecode interpreter for WebAssembly using emscripten.
wasm: https://opam.ocaml.org/packages/wasm/wasm.1.0/
> An OCaml library to read and write Web Assembly (wasm) files and manipulate their AST.
cmm_of_wasm: http://simonjf.com/2018/08/27/cmm-of-wasm.html
> From WebAssembly to Native Code via the OCaml Backend.
https://github.com/SanderSpies/ocaml/tree/wasm/wasmcomp
> A fork of the ocaml compiler with a web assembly compile target.
grain: https://github.com/grain-lang/grain
> Grain is a language built for the modern web by leveraging the brilliant work done by the WebAssembly project.
While grain is not actually OCaml it seems to be a fork of the OCaml codebase and thus worthy of mention.
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.