package core

  1. Overview
  2. Docs
Industrial strength alternative to OCaml's standard library

Install

Dune Dependency

Authors

Maintainers

Sources

v0.16.2.tar.gz
md5=bcac85c0ec5795ccabf1dccf0968ecd9
sha512=2e68556773549e0bf302c8733c9fc57df3c0fd73a1b547dc17097f74c5b5482c816ef89853b437e49452da7c124ef32a8a0de0dff64d71145b2ab11befbe5bb2

doc/CHANGES.html

Release v0.16.0

Changes that affect multiple modules:

  • Replaced references to Caml with Stdlib.
  • Added stable_witness values to many stable-version submodules.
  • Added support for locally-allocated values.

    • Added [@local] to many function arguments, especially closures.
    • Added [@local_opt] to primitives, and exported more primitives explicitly.
    • Added deriving globalize to some types.

Changes to individual modules:

  • Array: Added fold_map and fold_mapi.
  • Bigstring:

    • Added get_head_padded_fixed_string_local, get_tail_padded_fixed_string_local, and write_bin_prot_known_size.
    • Updated documentation for unsafe_destroy.
  • Binable: Removed deprecated functor aliases.
  • Binary_searchable: Added S0_permissions signature.
  • Bounded_index: Added zero_based_index and num_indexes.
  • Byte_units: Add abs, sign, and neg.
  • Command:

    • Moved to its own library. Still re-exported from Core.
    • Removed references to Core-dependent types.
    • No longer exports process-management functions.
    • Added Command.basic_or_error.
    • Added Arg_type.parse and Arg_type.autocomplete.
    • Added Flag.escape_with_autocomplete, Flag.no_arg_required, and Flag.no_arg_abort.
    • Removed deprecated function Flag.one_or_more.
    • Added Param.choose_one_non_optional, Param.optional_to_required, and Param.parse.
  • Comparable:

    • Renamed Polymorphic_compare to Comparisons.
    • Added Stable.V1.With_stable_witness.Make.
  • Container: Added S0_permissions and S1_with_creators_permissions.
  • Date:

    • Document caveats for functions based on is_weekday or is_weekend.
    • Add round_forward_to_weekday, round_backward_to_weekday, round_forward_to_business_day, and round_backward_to_business_day.
    • Add Stable.V1.Option.to_int and Stable.V1.Option.of_int_exn.
  • Day_of_week:

    • Add deriving sexp_grammar and typerep.
    • Add deriving sexp_grammar to Stable.V1.
  • Doubly_linked: Add first_exn and last_exn.
  • Filename: split out Filename_base library for parts not dependent on Core.
  • Float: add Stable.V1.
  • Gc:

    • Add Stat.add.
    • Add stat_size.
    • Remove prepare_heap_to_count_minor_allocation.
  • Hashable: Add Stable.V1.With_stable_witness.
  • Hashtbl: Add Make_stable and Make_stable_with_hashable.
  • Hash_queue: Add to_alist, replace_or_enqueue, replace_or_enqueue_front, and replace_or_enqueue_back.
  • Hash_set: Add Make_stable and Make_stable_with_hashable.
  • Heap_block: Moved to its own Heap_block library.
  • Identifiable: Add Make_plain_using_comparator.
  • Indexed_container: Added this module. It exports S1_permissions and S1_with_creators_permissions, defined by analogy to the same names in Container.
  • Info: Added Stable.V2.t_sexp_grammar.
  • Int: Exported comparator_witness equivalence with Base.Int.
  • Int63:

    • Exported comparator_witness equivalence with Base.Int.
    • Added Stable.V1.
  • Lazy: Exported t_stable_witness.
  • List: remove deprecated function stable_dedup.
  • Map:

    • Removed creator/accessor signatures except *_generic versions.
    • Made t injective in all three type parameters.
    • Replaced references to comparator type with Comparator.Module.t.
    • Removed deprecated type alias comparator.
    • Reworded documentation on Tree types.
    • Added quickcheck_observer and quickcheck_shrinker to S_plain.
    • Added of_list_with_key, of_list_with_key_or_error, of_list_with_key_exn, of_list_with_key_multi, split_le_gt, split_lt_ge, and transpose_keys.
    • Added Make_applicative_traversals, providing mapi and filter_mapi that operate lazily inside an applicative.
    • Added Stable.V1.With_stable_witness.
  • Maybe_bound:

    • Added deriving equal and hash to t, As_lower_bound.t, and As_upper_bound.t.
  • Option:

    • Added deriving equal and hash to Stable.V1.
  • Or_error:

    • Deprecated Expect_test_config_with_unit_expect, as [%expect] now always has type unit.
  • Percent:

    • Addressed round-trippability via strings and sexps.

      • Added to_string_round_trippable.
      • Documented caveats about Stringable and Sexpable implementations.
      • Documented caveats on Stable.V1.
      • Added Stable.V2 based on t_of_sexp / sexp_of_t and documented caveats.
      • Added Stable.V3 as a fully round-trippable version.
      • Made similar updates to Option.Stable.
      • Documented caveats on Always_percentage.
      • Added Almost_round_trippable as a more human-readable format than Stable.V3.
    • Addressed precision issues.

      • Added *_slow_more_accurate versions of of_percentage, to_percentage, of_bp, and to_bp.
      • Documented caveats on the original versions.
    • Added t_sexp_grammar, one_hundred_percent.
  • Pid: Added deriving quickcheck.
  • Quickcheck: Updated implementation and documentation of geometric. Swapped argument order.
  • Sequence: Added inlined records to Step.t.
  • Set:

    • Removed creator/accessor signatures except *_generic versions.
    • Replaced references to comparator type with Comparator.Module.t.
    • Added comparator_s.
    • Updated documentation of split.
    • Added split_le_gt and split_lt_ge.
    • Added Stable.V1.With_Stable_Witness.
  • Set_once:

    • Added documentation of equal semantics.
    • Added deriving compare and equal.
  • Sexp: Added deriving equal and sexp_grammar to Stable.V1.t.
  • String_id:

    • Documented shared bin shape for all modules created by Make.
    • Added Make_with_distinct_bin_shape.
  • Time_float: Updated deprecation messages to mention Time_float_unix instead of Time_unix.
  • Time_ns:

    • Added deriving equal and hash to Stable.V1.Ofday.
    • Added more of_int_* conversions to Span.
    • Added optional Random.State argument to Span.randomize.
    • Removed deprecated submodules from Stable.
    • Exported Option submodule.
    • Exported Stable submodule.
    • Exported V1, Option.V1, and Option.V2 from Span.Stable.
    • Added deriving hash, equal, and sexp_grammar to Span.Stable.V2.
  • Tuple: Added T2.map_both and T3.map_all.
  • Unit: Added Stable.V2 with zero-width bin-io.
  • Univ_map: Moved to its own Univ_map library.
  • Validated: Added S_allowing_substitution.
OCaml

Innovation. Community. Security.