From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id D19C37ED25 for ; Thu, 18 Jul 2013 15:50:32 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of thelema314@gmail.com) identity=pra; client-ip=209.85.214.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="thelema314@gmail.com"; x-sender="thelema314@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of thelema314@gmail.com designates 209.85.214.43 as permitted sender) identity=mailfrom; client-ip=209.85.214.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="thelema314@gmail.com"; x-sender="thelema314@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-bk0-f43.google.com) identity=helo; client-ip=209.85.214.43; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="thelema314@gmail.com"; x-sender="postmaster@mail-bk0-f43.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmoBAF/w51HRVdYrk2dsb2JhbABahAuDBr5BCBYOAQEBAQcLCwkUBCSCTh0BGx4DEgkHNwIkAREBBQEiiBABAw+VcYJ+jABPgn+ESAoZJw1kh3QBBQyOO4QqgSEDl12PaBYphFQg X-IPAS-Result: AmoBAF/w51HRVdYrk2dsb2JhbABahAuDBr5BCBYOAQEBAQcLCwkUBCSCTh0BGx4DEgkHNwIkAREBBQEiiBABAw+VcYJ+jABPgn+ESAoZJw1kh3QBBQyOO4QqgSEDl12PaBYphFQg X-IronPort-AV: E=Sophos;i="4.89,693,1367964000"; d="scan'208";a="26485365" Received: from mail-bk0-f43.google.com ([209.85.214.43]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 18 Jul 2013 15:50:32 +0200 Received: by mail-bk0-f43.google.com with SMTP id jm2so1188855bkc.2 for ; Thu, 18 Jul 2013 06:50:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=k2E6Cd3xyvYoz1zHpCwZCzaHGy5+UO/P1ExwcXpKN1M=; b=fsbKlUtu7TTQdJHQXa/gW+hS8cTMj/zPL55oPy+xexRZ6yk00quPdYYEk+JaLatTuE rApHCE87M5yHGRZ1n7abk9Lba4s38v0lUGn2ljjx/sPvYOXwnrt34a9xB4vTZ9XbNx75 FD/K0LMsxp9KyeKH5eV951iJO4IElMk6FKyOd5kxdT+8BoxRl6qg98zeh9zj5g33Zfmz UXAr4DaZT0Taz0CPuKdLaLNfslIPEhhtW0LudyOnJuw+tPwoedhrMGSJtbKL/luLa7oq q7LFj9bxhNjiDjgwaDaJG5oItmWe/2EUH6wZRz7Wbonm/uCG+JDQcpj93cEDfm3UoZZX lfyA== MIME-Version: 1.0 X-Received: by 10.204.198.9 with SMTP id em9mr1735200bkb.131.1374155431797; Thu, 18 Jul 2013 06:50:31 -0700 (PDT) Received: by 10.205.112.12 with HTTP; Thu, 18 Jul 2013 06:50:31 -0700 (PDT) Date: Thu, 18 Jul 2013 09:50:31 -0400 Message-ID: From: Edgar Friendly To: caml-list Content-Type: multipart/alternative; boundary=485b3970d6066115d004e1c97ea5 Subject: [Caml-list] [ANN] Batteries 2.1 --485b3970d6066115d004e1c97ea5 Content-Type: text/plain; charset=UTF-8 It's been a while since 2.0, and batteries has had a bunch of improvements that should be shared with a wider audience. More features, more bugfixes, more batteries. Thanks to the *many* contributors in this release; batteries exists because of you. E. Changelog: Added: Array.{avg,favg,singleton}, Bigarray.of_enum, Hashtbl.{modify,modify_def,modify_opt,map_inplace,filter_inplace,filter_opt_inplace}, IMap.{modify,modify_def,modify_opt}, LazyList.lazy_fold_right, List.{singleton,unfold,min_max,modify,modify_dep,modify_opt, span, nsplit, group_consecutive}, Map.modify_opt (*3), MultiMap.modify_opt (*3), MultiPMap.modify_opt (*3), Option.{default_delayed , map_default_delayed}, Set.find, Set.Incubator.op_map, String.rev, Substring.{equal,contains,iteri,enum} Fixed: Compilation with Ocaml 4.01 Speedup in LazyList.append More organized magic for fast list snoc Speedup in String.{replace,nreplace} Cleanup int32.[un]pack exceptions Fix last bit access in BatBitSet Float.round corner case on predecessor of 0.5 fixed Fix Enum.concat's clone implementation Fix List.n_cartesian_product to allow empty input Fix BatText.rfind's index calculation Improve Pervasives.undefined to be curry-able Array.backwards doesn't clone array anymore Remove useless allocation in Splay.cfind More unit tests, benchmarks --485b3970d6066115d004e1c97ea5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
It's been a while since 2.0, and batteries has ha= d a bunch of improvements that should be shared with a wider audience.

More features, more bugfixes, more batteries.

Thanks to the *many* contributors in this release; batt= eries exists because of you.

E.
Changelog:

Added:=C2=A0
Arr= ay.{avg,favg,singleton},=C2=A0
Bigarray.of_enum,=C2=A0
Hashtbl.{modify,modify_def,modify_op= t,map_inplace,filter_inplace,filter_opt_inplace},=C2=A0
IMap.{mod= ify,modify_def,modify_opt}, LazyList.lazy_fold_right,=C2=A0
List.= {singleton,unfold,min_max,modify,modify_dep,modify_opt, span, nsplit, group= _consecutive},=C2=A0
Map.modify_opt (*3),=C2=A0
MultiMap.modify_opt (*3),=C2=A0
MultiPMap.modify_opt (*3),=C2=A0
Option.{default_delayed= , map_default_delayed},=C2=A0
Set.find, Set.Incubator.op_map,=C2= =A0
String.rev,=C2=A0
Substring.{equal,contains,iteri,enum}
Fixed:
Compi= lation with Ocaml 4.01
Speedup in LazyList.append
More = organized magic for fast list snoc
Speedup in String.{replace,nre= place}
Cleanup int32.[un]pack exceptions
Fix last bit access in Bat= BitSet
Float.round corner case on predecessor of 0.5 fixed
<= div>Fix Enum.concat's clone implementation
Fix List.n_cartesi= an_product to allow empty input
Fix BatText.rfind's index calculation
Improve Pervasives= .undefined to be curry-able
Array.backwards doesn't clone arr= ay anymore
Remove useless allocation in Splay.cfind
More unit tests, benchmarks

--485b3970d6066115d004e1c97ea5--