caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] [ANN] v0.12 release of Jane Street packages
@ 2019-03-14 19:24 Xavier Clerc
  0 siblings, 0 replies; only message in thread
From: Xavier Clerc @ 2019-03-14 19:24 UTC (permalink / raw)
  To: caml-list

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

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

only message in thread, other threads:[~2019-03-14 19:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-14 19:24 [Caml-list] [ANN] v0.12 release of Jane Street packages Xavier Clerc

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