caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] Batteries 2.4.0
@ 2015-12-16 11:15 Francois Berenger
  0 siblings, 0 replies; only message in thread
From: Francois Berenger @ 2015-12-16 11:15 UTC (permalink / raw)
  To: OCaml Mailing List

Dear OCaml users,

Batteries (OCaml Batteries Included) is a community-developed overlay
over the "standard" library distributed with the compiler, that aims
to provide general-purpose data-structures and convenient functions.

The project follows a semantic versioning scheme; the new version is
backward-compatible with the previous releases (2.3.1 was in October
2014). The lowest OCaml version certainly supported is 3.12.1.

The new release is available in OPAM, or as a tarball
https://github.com/ocaml-batteries-team/batteries-included/\
releases/tag/v2.4.0
or from the sources
https://github.com/ocaml-batteries-team/batteries-included
The online API documentation is at:
http://ocaml-batteries-team.github.io/batteries-included/hdoc2/

This release contains a handful of new functions and bugfixes -- see
the detailed changelog below. Two highlights are the `pop_{min,max}`
in BatSet and `pop_{min,max}_bindings` in BatMap contributed by
François Berenger, and a nasty bug when hashing values close to
min_int spotted by Martin Neuhäußer -- this long-hidden bug was due to
a mistake in the backward-compatibility code for the hashing function
transition between OCaml 3.12 and OCaml 4.00.

With many thanks to the contributors to this new release, including
Guillaume Allais, Aleksey Z. Arens, Nils Becker, François Berenger,
Sang Kil Cha, Simon Cruanes, Bob Fang, Anders Fugmann, Rudi Grinberg,
Herry, Christoph Höger, Max Mouratov, Martin R. Neuhäußer, Gabriel
Scherer, Quentin Stievenart, Kevin Brubeck Unhammer, Ralf Vogler, and
Xavier Van de Woestyne.

New contributors are always welcome, you can have a look at the issue
list on github to find something you would be interested into working on 
and discuss with the maintainers:
https://github.com/ocaml-batteries-team/batteries-included/issues

With our best regards,
The OCaml batteries-included team.

# Detailed changelog

- BatBitSet: use Bytes instead of String
   (Gabriel Scherer)
- BatHashtbl: fix hash computation bug introduced by 4.01 (issue #609)
   (Gabriel Scherer, report by Martin R. Neuhäußer)
- BatText: synchronize nsplit to match BatString.nsplit
   (Gabriel Scherer)
- BatLazyList: fix remove_all_such documentation
   (Xavier Van de Woestyne)
- BatMap: add pop_min_binding: 'a t -> (key * 'a) * 'a t
       and pop_max_binding: 'a t -> (key * 'a) * 'a t
   (Francois Berenger)
- BatMap: add at_rank_exn: int -> ('key, 'a) t -> ('key * 'a)
       and update: key -> key -> 'a -> 'a t -> 'a t
   (Francois Berenger)
- BatEnum: add interleave: 'a t array -> 'a t
   (Aleksey Z. Arens)
- BatFormat: expose asprintf for V>=4.01
   (Ralf Vogler)
- BatSet: add at_rank_exn: int -> t -> elt
       and update: elt -> elt -> t -> t
   (Francois Berenger)
- BatUTF8: add enum: t -> BatUChar.t BatEnum.t
   (Kevin Brubeck Unhammer)
- BatSet: add to_array: t -> elt array
       and of_array: elt array -> t
       and test for to_list
   (Francois Berenger)
- BatSet: add pop_max: 'a t -> 'a * 'a t
       and pop_min: 'a t -> 'a * 'a t
   (Francois Berenger)
- BatSplay: hardened against read-only-data compiler optimization
   (Gabriel Scherer)
- BatList: simplified interleave implementation
   (Francois Berenger)
- BatOption: add
   Infix.(>>=): 'a option -> ('a -> 'b option) -> 'b option
   (Herry Herry)
- BatHashtbl: modify now have same semantics than replace for the key
   (Anders Fugmann)
- BatHashtbl: more efficient modify_opt and modify_def
   (Anders Fugmann)
- BatFormat: add pp_print_list: ?pp_sep:(formatter -> unit -> unit) ->
                             (formatter -> 'a -> unit) ->
                             (formatter -> 'a list -> unit)
          and pp_print_text: formatter -> string -> unit
   (Christoph Höger)
- BatEnum: add uniq_by: ('a -> 'a -> bool) -> 'a t -> 'a t
        and uniqq: 'a t -> 'a t
   (Max Mouratov)
- BatEnum: fix uniq to use structural comparison
   (Max Mouratov)
- BatUnix: add run_and_read: string -> process_status * string
   (Francois Berenger)
- BatCache: use hashmap to speed up lru_cache
   (Sang Kil Cha)
- BatQueue: add filter: ('a -> bool) -> 'a t -> 'a t
         and filter_inplace: ('a -> bool) -> 'a t -> unit
         and filter_map: ('a -> 'b option) -> 'a t -> 'b t
   (Gabriel Scherer)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-12-16 11:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-16 11:15 [Caml-list] [ANN] Batteries 2.4.0 Francois Berenger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).