caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gabriel Scherer <gabriel.scherer@gmail.com>
To: caml users <caml-list@inria.fr>
Subject: [Caml-list] [ANN] Batteries 2.5.0, compatible with OCaml 4.03
Date: Thu, 12 May 2016 10:41:04 -0400	[thread overview]
Message-ID: <CAPFanBFOa6E8X5GYnO7S_k6SNVBLbPVFGD+j+d+bS77DzZDHHw@mail.gmail.com> (raw)

## Batteries

Batteries Included is a community-maintained standard library
extension, with a focus on stability and compatibility. Bug reports,
pull requests and other contributions are warmly welcome, see the
project page at
  https://github.com/ocaml-batteries-team/batteries-included/

The library's API documentation at:
  http://ocaml-batteries-team.github.io/batteries-included/hdoc2/

Batteries 2.5.0 is a minor release, coming shortly after 2.4.0
released in December 2015. The main change in 2.5.0 is that it is
compatible with the newly released OCaml 4.03.

Note that, as usual for Batteries release, Batteries 2.5.0 is
compatible with older OCaml releases as well, and provides back-ported
versions of most standard library functions made available in 4.03
only. For example, BatString.uppercase_ascii is usable under all OCaml
versions.

If the documentation of a Batteries function says
  @since 2.5.0
then it is available under all supported OCaml versions (3.12.1 and
up). If it says
  @since 2.5.0 and OCaml 4.03.0
then it is only available under OCaml 4.03.0.

Many thanks to the contributors for this release, Cedric Cellier,
Pieter Goetschalckx KC Sivaramakrishnan, Gabriel Scherer, and Thibault
Suzanne.

## Detailed Changelog

- BatTuple: add Tuple{N}.make : 'a1 -> ... -> 'an -> 'a1 * ... * 'an
  #657
  (Thibault Suzanne)
- BatBig_int: fix sequence operators (--), (---) to avoid polymorphic comparison
  #674, #675, #676
  (Pieter Goetschalckx and Cedric Cellier)
- Extend all Batteries module to cover OCaml 4.03 features
  #670
  (Gabriel Scherer, KC Sivaramakrishnan)

## Future plans

OCaml 4.03 introduced a type `('a, 'b) result` contributed by Yaron
Minsky, meant to serve as common denominator between the various
libraries relying on some kind of sum/either type.

    type ('a,'b) result = Ok of 'a | Error of 'b

Batteries has long had its own `result` type, which unfortunately uses
a different name for the second constructor:

    type ('a, 'b) result = Ok  of 'a | Bad of 'b

Unfortunately, this means that the two types are incompatible (see
PR#7102 for a feature request on renaming variant
constructors). Batteries 2.5.0 is compatible with previous Batteries
versions, and keeps using Batteries' result type.

Of course, the right long-term move for Batteries is to drop its own
result type and use the standard result type instead. But this means
a breaking change for our users as well. We plan to make a major
release 3.0 in the following months, that integrates this breaking
changes and some other incompatible interface changes that were
proposed over the 2.x lifetime.

Happy hacking!

             reply	other threads:[~2016-05-12 14:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-12 14:41 Gabriel Scherer [this message]
2016-05-13  7:53 ` Christoph Höger
2016-05-13  8:59   ` Matej Kosik
2016-05-13 11:56     ` Gabriel Scherer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPFanBFOa6E8X5GYnO7S_k6SNVBLbPVFGD+j+d+bS77DzZDHHw@mail.gmail.com \
    --to=gabriel.scherer@gmail.com \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).