- bignum, a Core-flavoured wrapper around arbitrary-precision rational numbers provided by the zarith library.
Heads up, though: in preparation for the public release of bignum, we made a few changes and improvements to the library, but they weren't completed in time and weren't essential enough to hold up the release for them. Next public release, bignum will have an improved rounding API, fewer dependencies, and a better bin_prot encoding.
## async_extra
- Added `Log.Message.add_tags`, which extends a message with a list of
key-value pairs.
val add_tags : t -> (string * string) list -> t
## async_kernel
- Changed low-level error messages to use `Sexp.to_string_hum` rather
than `to_string_mach`.
## async_ssl
- Improved the propagation of SSL errors to the caller.
## async_unix
- Added `Sys.when_file_changes : string -> Time.t Pipe.Reader.t`.
- Added `Time.now ()` to some error messages.
## core
- Improved `Command` to print a good error message if command-line
parsing raises.
`Command`'s `Exn.handle_uncaught` now protects the phase of parsing
command-line arguments in addition to protecting the phase of
running the `main` function as it did already.
## core_kernel
- Added `Hashtbl.for_all` and `for_alli`.
- Added `Float.to_padded_compact_string` for converting a floating point
number to a lossy, compact, human-readable representation.
E.g., `1_000_001.00` becomes `"1m "`.
- Tweaked the form of the definition of `Blang.Stable.V1`.
Removed a `type t_` that is not necessary now that we can use `nonrec`
without triggering spurious warnings.
## enumerate
- Restricted the signature of the `all` value generated by
`with enumerate`.
Now, in:
type t = [ `Foo | ... ] with enumerate
the type of `all` will be `t list`, instead of `[> t] list`.
When taking unions of polymorphic variant types, inserted the
appropriate coercions.
## jenga
- Fix a hang.
Jenga could reach a state with a non-zero todo-count, but have no
jobs actually running, and then hang in this state forever. The hang
would be evident from a progress line with not all targets built and
with `j=0+0` such as:
todo: 17 (100406 / 100423) j=0+0 con=149956 act=3303, finish at: 16:20
## ocaml_plugin
- Use `ocamldep` to generate the dependencies of an `.ml` file, if
requested.
Added a function to find the dependencies of a module, but did not
change the existing behavior and interface of the library if one
does not choose to use this functionality.
## pa_test
- Made it possible to use `<:test_eq< >>` and friends in `Core_kernel`.
Removed the dependency of the code generated by `pa_test` on
`Core_kernel`, so `pa_test` can be used there.
## re2
- Upgraded to upstream library version 20140304.
Added options `Dot_nl` and `Never_capture`.