Hello
Here is the latest OCaml Weekly News, for the week of August 30 to September 06, 2016.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2016-08/msg00138.html
Hongbo Zhang announced:We are glad to announce BuckleScript 1.0[1], a backend for the OCaml compiler which emits JavaScript. A simple example is available here: https://github.com/bloomberg/bucklescript/#an-http-server As examples of that vision, using BuckleScript, OCaml users can use Chrome Dev Tools to debug OCaml code, while Javascript users can use OCaml libraries as plain npm[2] packages. The project is inspired by js_of_ocaml[3], its goal is to engage OCaml with average JavaScript developers. Documentation is available here: http://bloomberg.github.io/bucklescript/Manual.html Thanks -- Hongbo [1]: https://github.com/bloomberg/bucklescript/ [2]: https://www.npmjs.com/ [3]: http://ocsigen.org/js_of_ocaml/ [4]: https://bloomberg.github.io/bucklescript/Differences-from-js_of_ocaml.html
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2016-09/msg00000.html
Philippe Veber announced:The Convergenomix project is looking to hire an engineer or post-doc with experience in C++ and OCaml for a 2 year contract at the University of Lyon 1. The proposed work deals with the implementation of computational methods in evolutionary biology, and it involves high performance computing, probabilistic inference and models for genome evolution. Previous experience in computational biology is not required (but would of course be a plus), and while the proposed work mainly involves software development, it is also a great opportunity to learn about biology and evolution. The successful applicant will work within the ANR Convergenomix project, which groups 4 labs all based in Lyon. Convergenomix aims to study convergent evolution at the genome scale by developing and applying bioinformatic methods in 3 different groups of animals. The laboratories involved in the Convergenomix projects have generous resources for genomic analysis (scientific high-performance computing, data management, training and support). They offer a stimulating environment, with a rich spectrum of research activities in life sciences, statistics and computational biology. The position will be located at the LBBE. For more information, contact us at convergenomix@univ-lyon1.fr or see the project (http://lbbe.univ-lyon1.fr/convergenomix/) and lab (https://lbbe.univ-lyon1.fr/?lang=en) websites. Lyon is the second largest French city, is very well connected to other European cities, is famous for its food, and offers a broad range of cultural and recreational activities. Application packages should include a letter of motivation, a curriculum vitae, and the names and email addresses of two referees. Documents should be submitted as a single PDF file to convergenomix@univ-lyon1.fr.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2016-09/msg00005.html
Damien Doligez announced:The release of OCaml 4.04.0 will take place in a few weeks. We have created a second beta version to help you adapt your software to the new features ahead of the release. The source code is available at this address: https://github.com/ocaml/ocaml/archive/4.04.0+beta2.tar.gz and the compiler will soon be available as the "4.04.0+beta2" OPAM switch. We want to know about all bugs. Please report them here: http://caml.inria.fr/mantis/bug_report_page.php Happy hacking, -- Damien Doligez for the OCaml team. In addition to bug fixes, the main differences from beta1 are: - restored the following primitives (GPR#596, GPR#772) %string_safe_set %string_unsafe_set caml_create_string caml_fill_string - fixed the order of arguments given to the C linker (GPR#761, GPR#758, GPR#464, MPR#6475, MPR#5890)Gabriel Scherer then said:
Between beta+1 and now, Damien and myself invested some amount of time in checking the OPAM packages that fail to build on 4.04, understanding the issue and fixing it (either in the packages or upstream). I was able to do that thanks to Fabrice Le Fessant's opam-builder tool, which I think is a fantastic help for opam-repository quality analysis: http://opam.ocamlpro.com/builder/html/report-full.html (One non-intuitive thing about this output is that the big red "Deps" square are actually not a very problematic things, the orange "Fail" nodes are the things that really need to be fixed. In general opam-builder is in need of some improvements and I'm sure any contribution is welcome.) Early adopters may have noticed that the previous 4.03 release was rather painful: many third-party packages remained non-working on 4.03 for weeks or months after the release. I'm confident that this beta-time quality-analysis work will make 4.04 a smooth release in comparison. If you are interested in further discussion on these upgrade pains, see the ocaml-platform thread: "Is it taking too long for OCaml software to become 4.03-compatible? Would release process changes help?" http://lists.ocaml.org/pipermail/platform/2016-June/000671.html Hopefully Fabrice will soon update the opam-builder servers to build from 4.04+beta2 instead of 4.04+beta1; a large part of the remaining 4.04-only failures reported in the current output are fixed in beta2. Many thanks to the many third-party upstreams that reacted quickly to requests to improve compatibility by making new releases supporting 4.04. Thanks as well to Fabrice Le Fessant and Hongbo Zhang that did the bulk of the work on those "main differences" implemented in beta2 to fix or limit breakage of the OCaml ecosystem introduced by some 4.04+dev changes, and to Damien Doligez that is investing an impressive (and mostly invisible) amount of work into all aspects the release process -- and has been for years. If you are a package maintainer, you may want to check in the opam-builder output that your package has at least a version that builds correctly under 4.04 betas. If it is currently reported as failing under beta1, it may build correctly on beta2. In the long term, users should never experience a build failure when trying to install a package. Non-building combinations should be ruled out by the packaging constraints (on library dependencies or the compiler version). If a release of your package fails to build for some reason, whether or not you release a new version that does build, please remember to update the old OPAM metadata to make the package uninstallable instead of broken.Fabrice Le Fessant then added:
Thanks Gabriel for your enthousiasm about opam-builder, and thanks Damien for your hard work on 4.04 ! opam-builder is now running the new beta2: http://opam.ocamlpro.com/builder/html/report-full.html
Here are links from many OCaml blogs aggregated at OCaml Planet, http://ocaml.org/community/planet/. SSH access to the forge: moving from port 22 to port 522 http://forge.ocamlcore.org/forum/forum.php?forum_id=939 Unraveling of the tech hiring market https://blogs.janestreet.com/unraveling/ Do you love dev tools? Come work at Jane Street. https://blogs.janestreet.com/do-you-love-dev-tools-come-work-at-jane-street/ Formal proofs are not just deduction steps http://math.andrej.com/2016/08/30/formal-proofs-are-not-just-deduction-steps/
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.