From: Xavier Clerc <xclerc@janestreet.com>
To: caml-list <caml-list@inria.fr>
Subject: [Caml-list] [ANN] v0.12 release of Jane Street packages
Date: Thu, 14 Mar 2019 19:24:11 +0000 [thread overview]
Message-ID: <CAGi3GpwJtp28GUpC9FWTNnMzvosR-PtT-hM+sGOr56-RUTr8Xg@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 6609 bytes --]
Dear OCaml developers,
We are happy to announce the v0.12 release of Jane Street packages!
This release comes with a lot of changes, as we ship 19 new
packages, and have enhanced and refactored a number of existing
ones. The documentation for this release is available on our
website:
https://ocaml.janestreet.com/ocaml-core/v0.12/doc/
The remainder of this mail highlights the main changes since the v0.11
release; we hope it will be useful to developers in the process of
migrating to the new version. A comprehensive change log is available
on discuss (it turned out to be too big for this list):
https://discuss.ocaml.org/t/ann-v0-12-release-of-jane-street-packages/3499
# Comparison and Equality
- The `~cmp` argument used to pass a comparison function has been
renamed to `~compare`.
- The `~equal` label of functions `List.equal` and `Array.equal`
has been removed.
# New packages
- base_bigstring (https://github.com/janestreet/base_bigstring):
String type based on Bigarray, for use in I/O and C-bindings.
- base_quickcheck (https://github.com/janestreet/base_quickcheck):
Randomized testing framework, designed for compatibility with Base.
- hardcaml (https://github.com/janestreet/hardcaml):
Hardcaml is an OCaml library for designing hardware.
- hardcaml_waveterm (https://github.com/janestreet/hardcaml_waveterm):
A terminal based digital waveform viewer for Hardcaml.
- incr_dom_keyboard (https://github.com/janestreet/incr_dom_keyboard):
A terminal based digital waveform viewer for Hardcaml.
- incr_dom_partial_render (
https://github.com/janestreet/incr_dom_partial_render):
A library for simplifying rendering of large amounts of data.
- jst-config (https://github.com/janestreet/jst-config):
Compile-time configuration for Jane Street libraries.
- netsnmp (https://github.com/janestreet/netsnmp):
An interface to the Net-SNMP client library.
- notty_async (https://github.com/janestreet/notty_async):
An interface to the Net-SNMP client library.
- pam (https://github.com/janestreet/pam):
OCaml bindings for the Linux-PAM library.
- ppx_deriving_hardcaml (https://github.com/janestreet/ppx_deriving_hardcaml
):
A plugin for the ppx_deriving rewriter that supports the Hardcaml syntax.
- ppx_module_timer (https://github.com/janestreet/ppx_module_timer):
Ppx rewriter that records top-level module startup times.
- ppx_stable (https://github.com/janestreet/ppx_stable):
Stable types conversions generator.
- sexp (https://github.com/janestreet/sexp):
S-expression swiss knife.
- sexp_diff_kernel (https://github.com/janestreet/sexp_diff_kernel):
Code for computing the diff of two sexps.
- sexp_macro (https://github.com/janestreet/sexp_macro):
Sexp macros.
- shell (https://github.com/janestreet/shell):
Yet another implementation of fork&exec and related functionality.
- time_now (https://github.com/janestreet/time_now):
Reports the current time.
- zstandard (https://github.com/janestreet/zstandard):
OCaml bindings to Zstandard.
# Deprecations
`Async`:
- Deprecated `Scheduler.add_busy_poller`.
`Base`:
- Deprecated `Applicative`'s `Args*` module types and `Make_args*`
functors, which have been superseded by the `let%map` syntax.
- Deprecated `Array.replace`.
`Core_kernel`:
- Deprecated `Obj_array`, replacing uses with `Uniform_array`.
- Deprecated the `Timing_wheel_ns.Priority_queue` module, with no
intended replacement.
No longer released:
- `async_extended`.
- `async_parallel`.
- `configurator`.
- `findlib_top`.
- `incremental_kernel`.
- `jane-street-tests`.
- `jenga`.
- `ppx_ast`.
- `ppx_core`.
- `ppx_driver`.
- `ppx_metaquot`.
- `ppx_traverse`.
- `ppx_traverse_builtins`.
- `ppx_type_conv`.
# Moves
`Async`:
- Moved `Weak_hashtbl` module out of `Async` to its own library.
- Moved `Lock_file` to a single-module library, `Lock_file_async`.
- Moved `Async_extra.Udp` to a standalone library, `Async_udp`.
`Async_extended`:
- Moved modules out of `Async_extended` into their own libraries,
aimed at deleting `Async_extended`.
`Async_kernel`:
- Moved the `Limiter` module to a single-module library,
`Limiter_async`.
- Moved `Eager_deferred` to a standalone library.
`Async_unix`:
- Moved modules to standalone libraries: `Thread_pool`,
`Thread_safe_ivar`, `Thread_safe_pipe`.
`Base`:
- Moved the `Heap_block` module to `Core_kernel`.
- Added top-level module `Base.Sign_or_nan`, moved out of `Float`
- Added `Stack` module, moved in from `Core_kernel`.
- Added `Base.Bigstring` module, moving in most of
`Core_kernel.Bigstring`.
- Added the `Base_bigstring` library, splitting out the `Bigstring`
module from `Base`.
`Core`:
- Moved some modules out of `Core` to their own library: `Crc`,
`Piecewise_linear`, `Syslog`, `Timing_wheel_float`, `Weak_hashtbl`.
- Moved modules `Schedule_v4_deprecated` and `Schedule_v5` out of
`Core` and to their own libraries.
- Moved the `Daemon` module, to a single-module library.
- Moved the `Uuid` module out of `Core`, to a single-module library.
- Moved `Lock_file` to a single-module library, `Lock_file_blocking`.
- Moved the `Mac_address` module out of `Core`, to a single-module
library.
- Moved modules out to standalone libraries: `Nano_mutex`, `Squeue`.
`Core_kernel`:
- Added `Time_ns.Ofday` submodule, moved from `Core`.
- Moved module `Unpack_buffer` out of `Core_kernel` and into its own
library.
- Moved the implementation of `Quickcheck` into its own library,
`Base_quickcheck`.
- Moved the `Limiter` module to a single-module library.
- Moved the `Bucket` module out to a single-module library.
- Split out a `Config_h` library for generating the `config.h` file
that many libraries (including `Core_kernel`) use.
- Moved the `Weak_pointer` module to a standalone library.
- Moved modules out to standalone libraries: `Force_once`,
`Hash_heap`, `Int_set`, `Rope`, `Thread_safe_queue`, `Total_map`,
`Weak_array`.
`Incremental`:
- Made `Incremental` be the library name rather than
`Incremental_lib`, and moved all modules from `Incremental_lib` to
submodules of `Incremental`.
- Merged the `Incremental` and `Incremental_kernel` libraries into a
single library, `Incremental`.
- Moved the `Balanced_reducer` module out of `Incremental`, to a
single-module library.
`Sexplib`:
- Moved `Sexplib.Macro` to its own library `Sexp_macro`.
`ppx`:
- `ppx_ast`, `ppx_core`, `ppx_driver`, `ppx_metaquot`, `ppx_traverse`,
`ppx_traverse_builtins`, and `ppx_type_conv` have been merged into
ppxlib (https://github.com/ocaml-ppx/ppxlib).
[-- Attachment #2: Type: text/html, Size: 11317 bytes --]
reply other threads:[~2019-03-14 19:24 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=CAGi3GpwJtp28GUpC9FWTNnMzvosR-PtT-hM+sGOr56-RUTr8Xg@mail.gmail.com \
--to=xclerc@janestreet.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