From: Jeremie Dimino <jdimino@janestreet.com>
To: ocaml-core@googlegroups.com, "caml-list@inria.fr" <caml-list@inria.fr>
Subject: [Caml-list] [ANN] Core Suite 111.25.00
Date: Thu, 31 Jul 2014 15:44:13 +0100 [thread overview]
Message-ID: <CANhEzE4Xrj-CVkM4_p5Y+07=yc1K063qUUHngmKQYvG6j7t0hw@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 5346 bytes --]
I am pleased to announce the 111.25.00 release of the Core suite.
With this release all packages are now compatible with OCaml 4.02.
The following packages were upgraded:
- async_extra
- async_kernel
- async
- async_parallel
- async_unix
- core_extended
- core_kernel
- core
- custom_printf
- jenga
- ocaml_plugin
- patdiff
- patience_diff
- sexplib
- textutils
Files and documentation for this release are available on our
website and all packages are in opam:
https://ocaml.janestreet.com/ocaml-core/111.25.00/individual/
https://ocaml.janestreet.com/ocaml-core/111.25.00/doc/
Here is list of changes for this version:
## 111.25.00
### async
- add a dns example
### async_extra
- Removed `lazy` from the core of `Log`.
- Made `Log.Message.t` have a stable `bin_io`.
The `Stable.V1` is the current serialization scheme, and `Stable.V0`
is the serialization scheme in 111.18.00 and before, which is needed
to talk to older systems.
- Changed `Rpc` to return `Connection_closed` if a connection ends
before a response makes it to the caller.
Previously, the dispatch output was never determined.
Also, removed an unused field in one of the internal data structures
of Async RPC.
- In `Versioned_rpc`, added `version:int` argument to `implement_multi`
functions.
- In `Versioned_rpc`, the `Pipe_rpc.Make` functors now return an
additional output functor.
`Register'` is like `Register` but has in its input module:
```ocaml
val response_of_model :
Model.response Queue.t -> response Queue.t Deferred.t
```
rather than
```ocaml
val response_of_model : Model.response -> response
```
This is analogous to `Pipe.map'` and `Pipe.map`.
- Added to `Log` a `V2` stable format and better readers for
time-varying formats.
- In `Log`, added an optional `?time:Time.t` argument to allow callers
to pass in the logged time of an event rather than relying on
`Time.now ()`.
### async_kernel
- Fixed `Clock.run_at_intervals` to make the initial callback at an
interval multiple.
Previously, if `start` was in the past, `f` would run immediately
rather than waiting for an interval of the form `start + i * span`.
Now it always waits for an interval, even the first time it runs.
### async_parallel
- improve error handling
### async_unix
- Added `Unix.Addr_info` and `Name_info`, which wrap `getaddrinfo` and
`getnameinfo`.
- Improved the scheduler's error message when the thread pool is
stuck.
### core
- Added `Gc.disable_compaction` function.
- Added `Time.to_string_abs_trimmed`, which prints a trimmed time and
takes a `zone` argument.
- Fixed `unix_stubs.c` to suppress a warning when building with some
versions of gcc.
- Changed `Time.Zone` to allow the zoneinfo location to be specified
by an environment variable.
Closes #40
- Fix compatibility with 4.02
### core_extended
- Moved `Quickcheck` from `core`.
- Added [Int.gcd].
### core_kernel
- Fix build on FreeBSD
Closes #10
- Added functions to `Container` interface: `sum`, `min_elt`,
`max_elt`.
```ocaml
(** Returns the sum of [f i] for i in the container *)
val sum
: (module Commutative_group.S with type t = 'sum)
-> t -> f:(elt -> 'sum) -> 'sum
(** Returns a min (resp max) element from the collection using the
provided [cmp]
function. In case of a tie, the first element encountered while
traversing the
collection is returned. The implementation uses [fold] so it has the
same
complexity as [fold]. Returns [None] iff the collection is empty. *)
val min_elt : t -> cmp:(elt -> elt -> int) -> elt option
val max_elt : t -> cmp:(elt -> elt -> int) -> elt option
```
- Made `Core_hashtbl_intf` more flexible. For instance supports
modules that require typereps to be passed when creating a table.
Address the following issues:
The type `('a, 'b, 'z) create_options` needs to be consistently used
so that `b` corresponds with the type of data values in the returned
hash table. The type argument was wrong in several cases.
Added the type `('a, 'z) map_options` to `Accessors` so that
map-like functions -- those that output hash tables of a different
type than they input -- can allow additional arguments.
- Fixed a bug in `Dequeue`'s `bin_prot` implementation that caused it
to raise when deserializing an empty dequeue.
- Made `Container.Make`'s interface match `Monad.Make`.
- Deprecated infix `or` in favor of `||`.
- Simplified the interface of `Arg` (which was already deprecated in
favor of `Command`).
- Replaced `Bag.fold_elt` with `Bag.filter`.
- `Memo.general` now raises on non-positive `cache_size_bound`.
- Removed `Option.apply`.
- Removed `Result.call`, `Result.apply`.
- Moved `Quichcheck` to `core_extended`.
It should not be used in new code.
### custom_printf
- Fix 4.02 compatibility.
### jenga
- Switched to un-version-numbered API.
- Renamed `Tenacious_sample_lib.Tenacious` to
`Tenacious_sample_lib.Tenacious_sample` to avoid conflicts in the
public release.
- Write `buildable_targets.list` (on alias `.info`).
### ocaml_plugin
- ignore more warnings by default
### patdiff
- add a `?file_names` argument to `Compare_core.diff_strings`
### patience_diff
- refactoring and more unit tests
### sexplib
- Fix compatibility with OCaml 4.02
--
Jeremie Dimino, for the Core team
[-- Attachment #2: Type: text/html, Size: 7862 bytes --]
reply other threads:[~2014-07-31 14:44 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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='CANhEzE4Xrj-CVkM4_p5Y+07=yc1K063qUUHngmKQYvG6j7t0hw@mail.gmail.com' \
--to=jdimino@janestreet.com \
--cc=caml-list@inria.fr \
--cc=ocaml-core@googlegroups.com \
/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