caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] Core Suite 109.07.00 released
@ 2013-01-30 22:12 Jeremie Dimino
  0 siblings, 0 replies; only message in thread
From: Jeremie Dimino @ 2013-01-30 22:12 UTC (permalink / raw)
  To: caml-list, ocaml-core

I'm pleased to announce the 109.07.00 release of the Core suite of
libraries.  Core is an industrial strength alternative to OCaml's
standard library.

Tarballs can be found here:

  https://ocaml.janestreet.com/ocaml-core/109.07.00/individual/

And the documentation:

  https://ocaml.janestreet.com/ocaml-core/109.07.00/doc/

All packages are available through opam.

** The Core suite **

The Core suite includes a variety of useful libraries, including:

- Core: the heart of the standard library.
- Several useful syntax extensions
  - type-conv: a library for building type-driven syntax extensions
  - sexplib: a library for handling s-expressions, and a syntax
    extension for auto-generating conversions between OCaml types and
    s-expressions
  - bin-prot: a syntax-extensions for generating
  - pipebang
  - variantslib
  - comparelib
  - fieldslib
- Async: a monadic concurrency library.
- Core_extended: extra components that are not as closely vetted or as
  stable as Core.  This includes, Shell, an interface for interacting
  with the UNIX shell, and Command, a command-line parsing library.

** Repositories **

The official repositories for the Core libraries are now located on
the "janestreet" organisation on github and the "janestreet" team on
bitbucket.

github:            https://github.com/janestreet
bitbucket:         https://bitbucket.org/janestreet
github home page:  http://janestreet.github.com/

We changed the way we are exporting our source tree; there will now be
only one visible commit per release and project. Hopefully this
simpiflied process will allow more frequent updates.

** Contribution **

If you want to contribute to core the preferred way is to submit a
pull-request, which won't be merged in the end but will be used for
working on the changes before they are accepted and added to our
development process for integration in a future release.

** Changes **

He is a list of changes since the previous public release (108.08.00):

- Switched to OCaml 4.0.
- Async:
  - Add a [~perm] argument to [Writer.open_file] to set the file
    permissions in the same way [Unix.openfile] does.
  - Added [Async.Unix.unsetenv].
  - Fixed a bug in [Reader] that in some situations would make the
    reader unusable after an error in user code (e.g. a failed sexp
    conversion).
  - Fixed a bug in [Writer] that manifests when scheduling bigstrings
    with non-zero pos parameter.
  - Fixed a bug in [Scheduler.go], which previously behaved incorrectly
    if an exception had been raised to the main monitor prior to
    [Scheduler.go] being called.  The exception is now dealt with
    immediately, rather than running a cycle.
  - Exposed the type and value [Async.Config.t] as sexpable.
  - Improved error message when a user requests async to manage a file
    descriptor that it is already managing.
  - Improved error message when creation of the async scheduler fails.
  - Added [val _squelch_unused_module_warning_] to [Async.Std].
  - Made [Reader.load_sexp{,s}] handle exceptions other than
    [Of_sexp_error].
  - Fixed a bug in async's handing of file descriptors -- a missed check
    for a file descriptor having been closed.
  - Added [Writer.set_buffer_age_limit].
  - Improved the performance of [Deferred.Queue] by changing the
    implementation to use lists rather than arrays, which reduces gc
    promotion.
  - Added [?should_close_file_descriptor:bool] argument to [Async.Unix.close].
  - Moved the implementation of finalizers from Async_unix to
    Async_core.  This makes it possible to unit test finalizers (and
    things using them) using only the Async_core scheduler.
  - Changed the async scheduler so that if there are no upcoming events,
    it times out in 50ms rather than waiting forever.
  - Added =Monad_sequence.iteri=, which in turn adds it to:
    =Deferred.Array=, =Deferred.List=, and =Deferred.Queue=.
  - Added =Pipe.init=, which is analogous to =Deferred.create=.
  - Improved the performance of =Pipe.iter{,_without_pushback}=.
  - Improved =Reader.read_one_chunk_at_a_time_until_eof=:
    - the callback need not consume everything
    - add =`Eof_with_unconsumed_data= as a possible result
    - grow internal buffer of the reader when needed
  - Added =Shutdown.exit=, removed =Shutdown.shutdown_and_raise=.
  - Added =Scheduler.force_current_cycle_to_end=.
- Core:
  - Added [Char.of_string].
  - Fix [Backtrace.get], which was broken in 109.00, with the
    switch to OCaml 4.0.
  - Added [Heap.iter_el].
  - Updated [Core.Unix.stat] so that access, modify, and change times
    have nanosecond precision.
  - Fixed a bug in [Nano_mutex.invariant].
  - Simplified the implementation of [with_return] using a local
    explicit polymorphic type variable.
  - Added [Map.symmetric_diff], for returning a list of differences
    between two maps.  It has a fast-path implementation for maps that
    share a large amount of their internal structure.
  - Added a number of functions to =Bounded_int_table=: =equal=,
    =exists{,i}=, =for_all{,i}=, =filter_map{,i}=, =map{,i}=.  Also
    added a functor, =Bounded_int_table.With_key=, that makes a
    bounded-int table binable and sexpable, and adds =of_alist= and
    =of_alist_exn=.
  - Added =Doubly_linked.iter_elt= and =Bag.iter_elt=.
  - Added =module Invariant=, which defines signatures that are to
    be included in other signatures to ensure a consistent interface to
    invariant-style functions.
  - Added =module Ordering=, which defines:
      =type t = Less | Equal | Greater=

-- 
Jeremie Dimino, for the Core team

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

only message in thread, other threads:[~2013-01-30 22:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-30 22:12 [Caml-list] [ANN] Core Suite 109.07.00 released Jeremie Dimino

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).