Hello
Here is the latest Caml Weekly News, for the week of February 12 to 19, 2013.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2013-02/msg00128.html
Continuing the thread from last week, Louis Gesbert announced:Thanks for all the feedback and few bug reports during the past week of beta- test. We can now announce the 1.0.0 release of ocp-indent, available on opam.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2013-02/msg00137.html
Oliver asked and Francois Berenger replied:> any ideas on how to manage multiple OCaml-installations > on one machine, without running into trouble? > > I have 3.11.2 here on my old Ubuntu box. > I built OCaml 4.00, but stopped before the "make install", > because on a target system (a server providing my web stuff) > there also is 3.11.2 installed (older Debian system), and I'm > not root at that system. > > But I want to compile my code there also. > So I may need to develop in two branches for a while > and do merges. > > When I remove my 3.11.2, the testing would need me to work > on the remote machine, when testing the old-branch (the merges). > Possible, but more effort (and network delays are annoying). > > Can more than one OCaml be installed and used in an easy way? > Or should I forget this issue because of "mission impossible" > or because of "that needs too much effort"? I think you are looking for the opam -switch option. It allows to "jump" from one version to another.
Archive: https://sympa.inria.fr/sympa/arc/caml-list/2013-02/msg00129.html
Simon Cruanes announced:I'm happy to announce the release of Sequence 0.3.1. Sequence is designed to compose iterations over containers in a lightweight fashion. The goal is to transfer values between containers, or to apply transformations (map, filter, take, etc.) on several values without caring about where they come from. It doesn't have any dependencies. Sequence is not designed to be as general-purpose or flexible as, say, Batteries' `Enum.t`. Rather, it aims at providing a very simple and efficient way of iterating on a finite number of values, only allocating (most of the time) a few intermediate closures to do so. For instance, if you have an array and want to build a hashtable that contains elements mapping to their index in the array, you can write: > #require "sequence";; > let a = [| "a"; "b"; "c"; "d"; "e" |];; > let h = Hashtbl.create 3;; > Sequence.hashtbl_add h (Sequence.map (fun (x,y) -> y,x) (Sequence.of_array_i a));; > open Format;; (* to print h *) > let pp_pair formatter (x,y) = fprintf formatter "%s -> %i" x y;; > Sequence.pp_seq pp_pair std_formatter (Sequence.of_hashtbl h);; A toy S-expression module, and a few tests are included but not compiled by default (because they require OCaml >= 4.0). The code is free (BSD license), hosted at https://github.com/c-cube/sequence and available on OPAM (install with `opam install sequence`).
Thanks to Alp Mestan, we now include in the Caml Weekly News the links to the recent posts from the ocamlcore planet blog at http://planet.ocaml.org/. Four: http://erratique.ch/software/four Some great news on Opa: http://blog.opalang.org/2013/02/some-great-news-on-opa.html Reactive ML 1.08.04: http://caml.inria.fr/cgi-bin/hump.cgi?contrib=846
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.