Hello, Here is the latest OCaml Weekly News, for the week of May 16 to 23, 2017.
1) New release of the Albatross compiler available via opam 2) findlib-1.7.2 3) v0.9 release of Jane Street packages 4) From the OCaml discourse 5) Other OCaml News ======================================================================== 1) New release of the Albatross compiler available via opam Archive: <https://sympa.inria.fr/sympa/arc/caml-list/2017-05/msg00100.html> ------------------------------------------------------------------------ ** Helmut Brandl announced: It is my pleasure to announce a new version of the compiler for the Albatross programming language. It is available via ?opam install alba? (it requires ocaml >= 4.03.0). Alba is a language which allows static verification. In its current state it supports inductive types, recursive functions, pattern matching, inductively defined sets and relations and abstract data types. It can be used like coq to define types and functions and prove properties about them. We claim that Albatross is easier to use than coq and closer to mainstream languages so that there is no steep learning curve. The design of the language is an ongoing activity. Any comments, hints, issue reports etc. are welcome. Its long term goal is to open software verification for the masses. A language description can be found at <https://www.gitbook.com/read/book/hbr/alba-lang-description>. ======================================================================== 2) findlib-1.7.2 Archive: <https://sympa.inria.fr/sympa/arc/caml-list/2017-05/msg00106.html> ------------------------------------------------------------------------ ** Gerd Stolpmann announced: I released findlib-1.7.2: - support for termux (ygrek) - the toplevel support is now also available as package findlib.top (Jeremie Dimino) - (hopefully) support removal of packages in parallel - the "num" library is now optional See the project page for more information: <http://projects.camlcity.org/projects/findlib.html> ======================================================================== 3) v0.9 release of Jane Street packages Archive: <https://sympa.inria.fr/sympa/arc/caml-list/2017-05/msg00107.html> ------------------------------------------------------------------------ ** Jeremie Dimino announced: I'm happy to announce the v0.9 release of Jane Street packages! This release comes 13 months after the last stable one and is packed with a ton of new stuff. We are now releasing 94 packages, so 32 more than the previous release. New packages cover a wide range of areas, such as shell programming, web programming, standard libraries, Emacs hacking and more. Given its size and the increasing number of users, getting this release out in opam was a challenge. Especially I thank Anil Madhavapeddy for his help with the testing and fixing of reverse dependencies. All the packages are now in opam and the API documentation is available on our website: <https://ocaml.janestreet.com/ocaml-core/v0.9/doc/> We don't have public release notes for this release yet. However, we are in the process of reviewing the past year of change logs and hope to publish them online soon. In the meantime, here is a summary of major changes and new features available in this release. Simpler versioning ------------------ The first noteworthy change is the versioning scheme. We used to assign version numbers based on our internal ones. However these didn't make much sense outside of Jane Street, and especially there was a huge gap between each releases. So we are now using a more classic versioning scheme. In order to keep version numbers going up, they had to be prefixed with a 'v'. And because this release introduce a new standard library, Base, with an API that is still under active development, the new versions start with v0.9.0. Faster and more portable builds ------------------------------- This release is the first one to use Jbuilder [1], a new build system that was initially designed to ease the publication of our packages. The main consequences for users are: - much faster compilation times. It has been observed that Jane Street packages such as Core are now 6 times faster to build and install - improved portability. For instance packages whose code is portable build on Windows with nothing more than a working OCaml compiler Regarding portability, this release introduces configurator [2], a small but convenient package that helps finding out available system features. We started using it systematically in packages where we have C stubs. [1] <https://github.com/janestreet/jbuilder> [2] <https://github.com/janestreet/configurator> Better compatibility with multiple versions of OCaml ---------------------------------------------------- Since the switch to ppx our packages used to be stuck with one version of the compiler. This was due to our heavy use of ppx rewriters and to the fact that each version of OCaml tends to break code using the compiler libraries. In this release all our ppx code is based on the ocaml-migrate-parsetree [1] library. As a result our packages now build with OCaml from 4.03 to 4.06. There are still some issues related to ppx versioning that will need one more round of refactoring to be solved. [1] <https://github.com/let-def/ocaml-migrate-parsetree> New lighter, portable and guilt free standard library ----------------------------------------------------- This new release introduces Base [1], a wholesale replacement of the standard library distributed with OCaml. It aims to provide better standards and conventions, while only offering fully portable features. Base is still under active development, and work on the API is not yet finished. However, it was initially developed mostly by reorganising code from Core_kernel and it is the basis for all the Jane Street code base, meaning that it is carefully reviewed and heavily tested. Using it in old and new code is a breeze. Note that to be fully portable Base doesn't expose IO operations. These are provided by the companion Stdio library [2]. [1] <https://github.com/janestreet/base> [2] <https://github.com/janestreet/stdio> And more... ----------- Following is a brief overview of the other new packages available in this release, with more details available on their respective home pages. * Ppx_hash Automatic generation of Hash functions from type expressions and type definitions. <https://github.com/janestreet/ppx_hash> * Bin_prot shapes An extension to bin_prot to check safe use of deserialization. <https://github.com/janestreet/bin_prot/tree/master/shape> * Incr_dom A library for building dynamic webapps, using Js_of_ocaml. <https://github.com/janestreet/incr_dom> * Incr_map Helpers for incremental operations on map like data structures. <https://github.com/janestreet/incr_dom> * Incr_select Handling of large set of incremental outputs from a single input <https://github.com/janestreet/incr_select> * Virtual_dom OCaml bindings for the virtual-dom library <https://github.com/janestreet/virtual_dom> * Shexp Shexp was initially intended as a S-expression based shell to replace bash in Makefile based build for Jane Street packages. However, this project was superseded by Jbuilder. What's left is a nice process monad allowing one to construct complex and typed process pipelines. Shexp is still in its infancy but has already been successfully used for various purposes. <https://github.com/janestreet/shexp> * Spawn Essentially an improved version of Unix.create_process, implemented using vfork on Unix, which is much more efficient than fork. <https://github.com/janestreet/spawn> * Posixat Bindings to the various *at posix functions. <https://github.com/janestreet/posixat> * Ecaml OCaml plugins for Emacs. <https://github.com/janestreet/ecaml> * Expect_test_helpers_kernel Various helpers for writing expectation tests. <https://github.com/janestreet/expect_test_helpers_kernel> * Parsexp Lighter S-expression parsing library, with a more consistent API and better behaved in JavaScript. <https://github.com/janestreet/parsexp> * Cinaps Trivial meta-programming a la expect-test. More here: <https://blogs.janestreet.com/trivial-meta-programming-with-cinaps/> <https://github.com/janestreet/cinaps> * Ppx_optional Match statements for zero allocation options. <https://github.com/janestreet/ppx_optional> * Sexp_pretty A S-expression prettifying library. <https://github.com/janestreet/sexp_pretty> * Topological_sort Single-module library that implements a simple topological-sort algorithm. <https://github.com/janestreet/topological_sort> ======================================================================== 4) From the OCaml discourse ------------------------------------------------------------------------ ** The editor compiled this list: Here are some links to messages at <http://discuss.ocaml.org> that may be of interest to the readers. - Hongbo Zhang talks about "About BuckleScript" <https://discuss.ocaml.org/t/about-bucklescript/178> - Malcolm talks about "Pds - Makefiles and TOML files based build system" <https://discuss.ocaml.org/t/pds-makefiles-and-toml-files-based-build-system/183> - Anil Madhavapeddy talks about "Cambridge Jbuilder demo/discussion: May 25th" <https://discuss.ocaml.org/t/cambridge-jbuilder-demo-discussion-may-25th/195> - Vincent Balat talks about "About Ocsigen (Eliom, Js_of_ocaml, etc.)" <https://discuss.ocaml.org/t/about-ocsigen-eliom-js-of-ocaml-etc/212> - Thomas Gazagnaire talks about "DataKit dev reports" <https://discuss.ocaml.org/t/datakit-dev-reports/224> - Deokhwan Kim talks about "Translations of the Async code examples from RWO into Lwt" <https://discuss.ocaml.org/t/translations-of-the-async-code-examples-from-rwo-into-lwt/225> - yallop talks about "ctypes 0.12.0" <https://discuss.ocaml.org/t/ann-ctypes-0-12-0/255> ======================================================================== 5) Other OCaml News ------------------------------------------------------------------------ ** From the ocamlcore planet blog: Here are links from many OCaml blogs aggregated at OCaml Planet, <http://ocaml.org/community/planet/>. Proving a mem/map property <http://blog.shaynefletcher.org/2017/05/proving-mem-map-property.html> New opam features: more expressive dependencies <http://www.ocamlpro.com/2017/05/11/new-opam-features-more-expressive-dependencies/> ======================================================================== Old cwn ------------------------------------------------------------------------ If you happen to miss a CWN, you can send me a message (alan.schm...@polytechnique.org) and I'll mail it to you, or go take a look at the archive (<http://alan.petitepomme.net/cwn/>) or the RSS feed of the archives (<http://alan.petitepomme.net/cwn/cwn.rss>). If you also wish to receive it every week by mail, you may subscribe online at <http://lists.idyll.org/listinfo/caml-news-weekly/> . ======================================================================== -- OpenPGP Key ID : 040D0A3B4ED2E5C7 Monthly Athmospheric CO₂, Mauna Loa Obs. 2017-04: 409.01, 2016-04: 407.42
signature.asc
Description: PGP signature
_______________________________________________ caml-news-weekly mailing list caml-news-weekly@lists.idyll.org http://lists.idyll.org/listinfo/caml-news-weekly