* [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