From : Gabriel Scherer <gabriel.scherer AT gmail.com>

: Gabriel Scherer <gabriel.scherer AT gmail.com> To : caml users <caml-list AT inria.fr>

: caml users <caml-list AT inria.fr> Subject : [Caml-list] ANN: batteries 2.2.0

: [Caml-list] ANN: batteries 2.2.0 Date: Sun, 19 Jan 2014 19:22:31 +0100

[Caml-list] ANN: batteries 2.2.0, Gabriel Scherer, 01/19/2014

Batteries (OCaml Batteries Included) is a community-developed overlayover the "standard" library distributed with the compiler, that aimsto provide general-purpose data-structures and convenient functions.The project follows a semantic versioning scheme; the new version isbackward-compatible with the previous releases 2.1.0 (July 2013) and2.0.0 (January 2013). The lowest OCaml version certainly supported is3.12.The new release is available in OPAM, or as a tarballor from the sourcesThe online API documentation is at:This new version saw increased commits from new contributors, whichdid most of the work that is included in this release: FrançoisBerenger (which also did a good share of work for theprevious release), Simon Cruanes, and Jacques-Pascal Deplaix. As youcan see, it is the right time for people with a name in the beginningof the alphabet to contribute -- and others.As always, the work in this release is split between some codeimprovements and some new functions. Some highlights include:- val split_opt: elt -> t -> t * elt option * ton sets, as a generalization of stdlib'ssplit : elt -> t -> t * bool * t(François Berenger)- various cartesian_product functions, including one for Enumaccommodating infinite enumerations(Simon Cruanes)- kahan_sum functions for slower but numerically-accurate summation offloats ( http://en.wikipedia.org/wiki/Kahan_summation_algorithm (Gabriel Scherer)- val filteri : (int -> 'a -> bool) -> 'a list -> 'a listval filteri_map : (int -> 'a -> 'b option) -> 'a list -> 'b list(Jacques-Pascal Deplaix)- val bsearch :'a BatOrd.ord -> 'a array -> 'a ->[ `At of int | `Just_after of int| `All_lower | `All_bigger | `Empty ](Simon Cruanes)Remarkably, there was only one bug fixed (by its reporterJonas Jensen) during this release circle.With many thanks to Francois Berenger, Cedric Cellier, Simon Cruanes,Jacques-Pascal Deplaix, David Fourchaux, Rudi Grinberg, Jonas Jensen,Kensuke Matsuzaki, and Eric Norige.