mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
prepare for 1.4
This commit is contained in:
parent
66a8dfc396
commit
d6f7f1570e
10 changed files with 32 additions and 12 deletions
|
|
@ -1,5 +1,25 @@
|
||||||
= Changelog
|
= Changelog
|
||||||
|
|
||||||
|
== 1.4
|
||||||
|
|
||||||
|
- add `CCMap.union`
|
||||||
|
- add `CCRef.swap`
|
||||||
|
- add `CCArray.swap`
|
||||||
|
- change signature of `CCWBTree.get_rank`
|
||||||
|
- add `CCWBTree.get_rank{,_exn}`
|
||||||
|
|
||||||
|
- more efficient `List.map` Using efficient chunking algorithm
|
||||||
|
- Fix `CCVector.append_array` (empty vector case)
|
||||||
|
- `CCFQueue.take_back_exn` raised InvalidArg instead of Empty on an empty queue
|
||||||
|
- faster `CCString.{prefix,suffix}`
|
||||||
|
- speed improvements and benchmarks for `CCString.{prefix,suffix}`
|
||||||
|
|
||||||
|
- add ocp-indent file
|
||||||
|
- fix `CCFun.tap` example in doc
|
||||||
|
- specify behavior of `CCFQueue.take_{front,back}_l` in some corner cases
|
||||||
|
- More tests for CCVector.append and CCVector.append_array
|
||||||
|
- assertions and cleanup in `CCPool`
|
||||||
|
|
||||||
== 1.3
|
== 1.3
|
||||||
|
|
||||||
- deprecate `CCBool.negate`
|
- deprecate `CCBool.negate`
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ can be removed.
|
||||||
. `make update_next_tag` (to update `@since` comments; be careful not to change symlinks)
|
. `make update_next_tag` (to update `@since` comments; be careful not to change symlinks)
|
||||||
. check status of modules (`{b status: foo}`) and update if required;
|
. check status of modules (`{b status: foo}`) and update if required;
|
||||||
removed deprecated functions, etc.
|
removed deprecated functions, etc.
|
||||||
. update `CHANGELOG.md` (see its end to find the right git command)
|
. update `CHANGELOG.adoc` (see its end to find the right git command)
|
||||||
. commit the changes
|
. commit the changes
|
||||||
. `git checkout stable`
|
. `git checkout stable`
|
||||||
. `git merge master`
|
. `git merge master`
|
||||||
|
|
|
||||||
2
_oasis
2
_oasis
|
|
@ -1,6 +1,6 @@
|
||||||
OASISFormat: 0.4
|
OASISFormat: 0.4
|
||||||
Name: containers
|
Name: containers
|
||||||
Version: 1.3
|
Version: 1.4
|
||||||
Homepage: https://github.com/c-cube/ocaml-containers
|
Homepage: https://github.com/c-cube/ocaml-containers
|
||||||
Authors: Simon Cruanes
|
Authors: Simon Cruanes
|
||||||
License: BSD-2-clause
|
License: BSD-2-clause
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ val compare : 'a ord -> 'a t ord
|
||||||
|
|
||||||
val swap : 'a t -> int -> int -> unit
|
val swap : 'a t -> int -> int -> unit
|
||||||
(** [swap arr i j] swaps elements at indices [i] and [j].
|
(** [swap arr i j] swaps elements at indices [i] and [j].
|
||||||
@since NEXT_RELEASE *)
|
@since 1.4 *)
|
||||||
|
|
||||||
val get : 'a t -> int -> 'a
|
val get : 'a t -> int -> 'a
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -162,7 +162,7 @@ val some : 'a printer -> 'a option printer
|
||||||
"what is your @{<White>favorite color@}? @{<blue>blue@}! No, @{<red>red@}! Ahhhhhhh@.";;
|
"what is your @{<White>favorite color@}? @{<blue>blue@}! No, @{<red>red@}! Ahhhhhhh@.";;
|
||||||
]}
|
]}
|
||||||
|
|
||||||
{b status: experimental}
|
{b status: unstable}
|
||||||
@since 0.15 *)
|
@since 0.15 *)
|
||||||
|
|
||||||
val set_color_tag_handling : t -> unit
|
val set_color_tag_handling : t -> unit
|
||||||
|
|
@ -177,13 +177,13 @@ val set_color_default : bool -> unit
|
||||||
val with_color : string -> 'a printer -> 'a printer
|
val with_color : string -> 'a printer -> 'a printer
|
||||||
(** [with_color "Blue" pp] behaves like the printer [pp], but with the given
|
(** [with_color "Blue" pp] behaves like the printer [pp], but with the given
|
||||||
style.
|
style.
|
||||||
{b status: experimental}
|
{b status: unstable}
|
||||||
@since 0.16 *)
|
@since 0.16 *)
|
||||||
|
|
||||||
val with_colorf : string -> t -> ('a, t, unit, unit) format4 -> 'a
|
val with_colorf : string -> t -> ('a, t, unit, unit) format4 -> 'a
|
||||||
(** [with_colorf "Blue" out "%s %d" "yolo" 42] will behave like {!Format.fprintf},
|
(** [with_colorf "Blue" out "%s %d" "yolo" 42] will behave like {!Format.fprintf},
|
||||||
but wrapping the content with the given style
|
but wrapping the content with the given style
|
||||||
{b status: experimental}
|
{b status: unstable}
|
||||||
@since 0.16 *)
|
@since 0.16 *)
|
||||||
|
|
||||||
val with_color_sf : string -> ('a, t, unit, string) format4 -> 'a
|
val with_color_sf : string -> ('a, t, unit, string) format4 -> 'a
|
||||||
|
|
@ -193,7 +193,7 @@ val with_color_sf : string -> ('a, t, unit, string) format4 -> 'a
|
||||||
{[
|
{[
|
||||||
CCFormat.with_color_sf "red" "%a" CCFormat.Dump.(list int) [1;2;3] |> print_endline;;
|
CCFormat.with_color_sf "red" "%a" CCFormat.Dump.(list int) [1;2;3] |> print_endline;;
|
||||||
]}
|
]}
|
||||||
{b status: experimental}
|
{b status: unstable}
|
||||||
@since 0.21 *)
|
@since 0.21 *)
|
||||||
|
|
||||||
val with_color_ksf : f:(string -> 'b) -> string -> ('a, t, unit, 'b) format4 -> 'a
|
val with_color_ksf : f:(string -> 'b) -> string -> ('a, t, unit, 'b) format4 -> 'a
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ module type S = sig
|
||||||
val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
|
val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
|
||||||
(** Union of both maps, using the function to combine bindings
|
(** Union of both maps, using the function to combine bindings
|
||||||
that belong to both inputs
|
that belong to both inputs
|
||||||
@since NEXT_RELEASE *)
|
@since 1.4 *)
|
||||||
|
|
||||||
val of_seq : (key * 'a) sequence -> 'a t
|
val of_seq : (key * 'a) sequence -> 'a t
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ module type S = sig
|
||||||
val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
|
val union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
|
||||||
(** Union of both maps, using the function to combine bindings
|
(** Union of both maps, using the function to combine bindings
|
||||||
that belong to both inputs
|
that belong to both inputs
|
||||||
@since NEXT_RELEASE *)
|
@since 1.4 *)
|
||||||
|
|
||||||
val of_seq : (key * 'a) sequence -> 'a t
|
val of_seq : (key * 'a) sequence -> 'a t
|
||||||
(** Same as {!of_list} *)
|
(** Same as {!of_list} *)
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ val get_then_incr : int t -> int
|
||||||
|
|
||||||
val swap : 'a t -> 'a t -> unit
|
val swap : 'a t -> 'a t -> unit
|
||||||
(** Swap values.
|
(** Swap values.
|
||||||
@since NEXT_RELEASE *)
|
@since 1.4 *)
|
||||||
|
|
||||||
val compare : 'a ord -> 'a t ord
|
val compare : 'a ord -> 'a t ord
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,7 @@ module type S = sig
|
||||||
(** [get_rank k m] looks for the rank of [k] in [m], i.e. the index
|
(** [get_rank k m] looks for the rank of [k] in [m], i.e. the index
|
||||||
of [k] in the sorted list of bindings of [m].
|
of [k] in the sorted list of bindings of [m].
|
||||||
[let (`At n) = get_rank k m in nth_exn n m = get m k] should hold.
|
[let (`At n) = get_rank k m in nth_exn n m = get m k] should hold.
|
||||||
@since NEXT_RELEASE *)
|
@since 1.4 *)
|
||||||
|
|
||||||
val add : key -> 'a -> 'a t -> 'a t
|
val add : key -> 'a -> 'a t -> 'a t
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ module type S = sig
|
||||||
(** [get_rank k m] looks for the rank of [k] in [m], i.e. the index
|
(** [get_rank k m] looks for the rank of [k] in [m], i.e. the index
|
||||||
of [k] in the sorted list of bindings of [m].
|
of [k] in the sorted list of bindings of [m].
|
||||||
[let (`At n) = get_rank k m in nth_exn n m = get m k] should hold.
|
[let (`At n) = get_rank k m in nth_exn n m = get m k] should hold.
|
||||||
@since NEXT_RELEASE *)
|
@since 1.4 *)
|
||||||
|
|
||||||
val add : key -> 'a -> 'a t -> 'a t
|
val add : key -> 'a -> 'a t -> 'a t
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue