OCaml Weekly News
Hello
Here is the latest OCaml Weekly News, for the week of February 18 to 25, 2020.
Table of Contents
Dune 2.3.0
Rudi Grinberg announced
On behalf of the dune team, I'm proud to announce the 2.3.0 release of dune. This release is particularly relevant for users of coq that use dune to build their theories, developers of coq that use dune to build their favorite theorem prover. I'd like to thank @ejgallego for all the hard work to improve dune in this regard.
I'd also like to point out the (strict_package_deps)
option that is now available in project files. This option will now ask dune to validate the package dependencies specified in the package
stanzas in your dune-project files.
Here's the full change list, and as always, happy hacking!
2.3.0 (15/02/2020)
- Improve validation and error handling of arguments to
dune init
(#3103, fixes #3046, @shonfeder) dune init exec NAME
now uses theNAME
argument for private modules (#3103, fixes #3088, @shonfeder)- Avoid linear walk to detect children, this should greatly improve performance when a target has a large number of dependencies (#2959, @ejgallego, @aalekseyev, @Armael)
- [coq] Add
(boot)
option to(coq.theories)
to enable bootstrap of Coq's stdlib (#3096, @ejgallego) - [coq] Deprecate
public_name
field in favour ofpackage
(#2087, @ejgallego) - Better error reporting for "data only" and "vendored" dirs. Using these with
anything else than a strict subdirectory or
*
will raise an error. The previous behavior was to just do nothing (#3056, fixes #3019, @voodoos) - Fix bootstrap on bytecode only switches on windows or where
-j1
is set. (#3112, @xclerc, @rgrinberg) - Allow
enabled_if
fields inexecutable(s)
stanzas (#3137, fixes #1690 @voodoos) - Do not fail if
ocamldep
,ocamlmklib
, orocaml
are absent. Wait for them to be used to fail (#3138, @rgrinberg) - Introduce a
strict_package_deps
mode that verifies that dependencies between packages in the workspace are specified correctly. (@rgrinberg, #3117) - Make sure the
@all
alias is defined when nodune
file is present in a directory (#2946, fix #2927, @diml)
What's the OCaml equivalent for HLint?
Continuing this thread, Stéphane Lavergne said
Aside from Mascot and ppx_js_style
, it seems that ocp-lint is actively maintained by the folks at OcamlPro. I personally only use ocamlformat
so I can't vouch for it, but it seems
promising.
Training Sessions for "Expert OCaml" in Paris
Laurène Gibaud announced
OCamlPro organizes a cross-company training in French for developers who already use OCaml. The "Expert OCaml" training mixes theory and practice and will allow you to master OCaml's advanced features such as its type-system, OCaml's open source tools and libraries, and how to write compact and efficient code.
When? The next session is scheduled for March 3-4, 2020, the second will be on April 7-8, 2020.
Where? Paris 14, at our office
If interested, contact us at contact@ocamlpro.com or register on: http://www.ocamlpro.com/forms/preinscriptions-formation-ocaml/. We can also organize custom and on-site sessions upon request.
More info on: http://www.ocamlpro.com/training-ocamlpro/
OCaml 4.10 released
octachron announced
We have the pleasure of celebrating the birthday of Francis Ronalds by announcing the release of OCaml version 4.10.0.
Some of the highlights in this release are:
- A new best-fit allocator for the major heap which reduces both GC cost an memory usage.
- Some preliminary runtime work for OCaml multicore
- Immutable strings are now enforced at configuration time
- User-defined indexing operators for multidimensional arrays
- Coming soon: statmemprof, a new statistical memory profiler. The external API will be release next version.
- Various improvements to the manual
- More precise exhaustiveness check for GADTs
- Many bug fixes
Merlin, the OCaml editor service, is not yet available for this release. We will publish a follow-up announcement when Merlin is ready.
This release is (or soon will be) available as a set of OPAM switches, and as a source download here:
https://caml.inria.fr/pub/distrib/ocaml-4.10/
Editor note: please follow the archive link for the full changelog
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.