Hello
Here is the latest OCaml Weekly News, for the week of November 24 to December 01, 2015.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-11/msg00190.html
Damien Doligez announced:Here is a summary of what's going on with the next release of OCaml: We had a developer meeting on Nov 18 to decide which features will go into the next release. As far as large features are concerned, the set is now fixed. In addition to what's already in the Changes file, we'll have: - named constructor arguments (aka inline records) - compiler annotations for performance (@tailcall @inline @unbox @noalloc...) - flambda: major changes in the compiler pipeline - GC improvements: no more large GC pause times - Ephemerons: a generalization of weak pointers - Ocamlbuild: spin off as an independent project Note that, while they are still in Changes at the moment, we have decided to remove the user-defined indexing operators ( .() .()<- etc. ) for the moment, because they clash with another planned feature. They will probably be back in some form in 4.04. Our planned schedule is as follows: - December: merging features - December 20: end of merge window, creation of 4.03 branch, beta version. - January: debugging - early February: release We are also planning to release an alpha version of the multicore system as an OPAM switch shortly after the 4.03.0 release. We are working hard on this release, and we need the cooperation of all OCaml programmers, especially library authors: test your code on trunk, adapt to the (few) incompatible changes, report bugs as early as you can.William then asked andFrançois Bobot replied:
> Thanks for this upcoming update. Do you have some (short) explanations on the > benefits and how to use those new features ? > > found this for named constructor, looks nice : > http://www.lexifi.com/blog/inlined-records-constructors > > what about compiler annotations ? > > I understand that Ephemerons and flambda are optimisations, though having some > examples would be nice. Should we change some coding practices to take > advantage of those improvements ? Ephemerons are not just optimization. They extend the expressivity in the same way that if you start with only disjunction, adding conjunction extend the expressivity of the formula you can write. More practically, they allow to define really weak hashtable where a data is kept by the hashtable only if the keys _and_ the hashtable are alive. You can look at the different interfaces given in the standard library at https://github.com/bobot/ocaml/blob/feature/ephemerons/stdlib/ephemeron.mli . Some slides about them: https://ocaml.org/meetings/ocaml/2014/ocaml2014_2.pdf The merge-request is at https://github.com/ocaml/ocaml/pull/22. However the merge-request also add some fixes in the implementation of weak arrays, you have nothing to do to take advantage of them.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-11/msg00199.html
Daniel Bünzli announced:So here it is. tsdl 0.9.0 was released and uses the result value compatibility package. Many thanks to Florian Angeletti for taking up this slightly unglamorous task.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2015-11/msg00203.html
Deep in this thread, Xavier Van de Woestyne announced:I started implementing a small debugger using PPX. Actually the tool provide only "logs" but if I have more time, I will write more features (like loop/recursion log/breakpoint, watch etc). https://github.com/xvw/ppx_debugger The code was writted fast, It'll open to improvement.
Thanks to Alp Mestan, we now include in the OCaml Weekly News the links to the recent posts from the ocamlcore planet blog at http://planet.ocaml.org/. Shayne Fletcher: C++ : Sums with constructors http://blog.shaynefletcher.org/2015/11/c-sums-with-constructors.html OCaml Labs compiler hacking: Eleventh OCaml compiler hacking evening at Pembroke College http://ocamllabs.github.com/compiler-hacking/2015/11/24/compiler-hacking-at-pembroke.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.