Skip to content

Commit 069423b

Browse files
committed
prepare for 3.10
1 parent 24fdfdf commit 069423b

File tree

10 files changed

+36
-24
lines changed

10 files changed

+36
-24
lines changed

.ocamlformat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version = 0.20.1
1+
version = 0.22.4
22
profile=conventional
33
margin=80
44
if-then-else=k-r

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
# Changelog
22

3+
## 3.10
4+
5+
- `CCArray`: add `mapi_inplace`
6+
- add sublibrary `containers.scc` for strongly connected components
7+
- `CCSeq`: add `concat_map`
8+
- `CCSeq`: add some missing function from 4.14
9+
- add `CCInt64.{hash,hash_to_int64}`
10+
- `Ref`: add `protect` function
11+
12+
- fix: include `Seq` in `CCSeq` for ocaml >= 4.07
13+
314
## 3.9
415

516
- feat: add `Containers_cbor` module
@@ -9,6 +20,7 @@
920
* more extensive test suite
1021
* use `bytes` underneath, not an array of integers
1122
- add `containers_testlib`, removing qtest and ounit.
23+
- `cbor`: use int64 as main int type
1224

1325
- fix: handle uppercase in string/hex
1426

containers-data.opam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
opam-version: "2.0"
2-
version: "3.9"
2+
version: "3.10"
33
author: "Simon Cruanes"
44
maintainer: "[email protected]"
55
synopsis: "A set of advanced datatypes for containers"

containers-thread.opam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
opam-version: "2.0"
2-
version: "3.9"
2+
version: "3.10"
33
author: "Simon Cruanes"
44
maintainer: "[email protected]"
55
license: "BSD-2-Clause"

containers.opam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
opam-version: "2.0"
22
name: "containers"
3-
version: "3.9"
3+
version: "3.10"
44
author: "Simon Cruanes"
55
maintainer: "[email protected]"
66
license: "BSD-2-Clause"

src/core/CCArray.mli

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ val map_inplace : ('a -> 'a) -> 'a t -> unit
6666

6767
val mapi_inplace : (int -> 'a -> 'a) -> 'a t -> unit
6868
(** [mapi_inplace f a] replace all elements of [a] by its image by [f].
69-
@since NEXT_RELEASE *)
69+
@since 3.10 *)
7070

7171
val fold : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a
7272
(** [fold f init a] computes [f (… (f (f init a.(0)) a.(1)) …) a.(n-1)],

src/core/CCArrayLabels.mli

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ val map_inplace : f:('a -> 'a) -> 'a t -> unit
6464

6565
val mapi_inplace : f:(int -> 'a -> 'a) -> 'a t -> unit
6666
(** [mapi_inplace ~f a] replace all elements of [a] by its image by [f].
67-
@since NEXT_RELEASE *)
67+
@since 3.10 *)
6868

6969
val fold : f:('a -> 'b -> 'a) -> init:'a -> 'b t -> 'a
7070
(** [fold ~f ~init a] computes [f (… (f (f init a.(0)) a.(1)) …) a.(n-1)],

src/core/CCInt64.mli

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ val max : t -> t -> t
2828

2929
val hash : t -> int
3030
(** [hash x] computes the hash of [x], a non-negative integer.
31-
Uses FNV since NEXT_RELEASE *)
31+
Uses FNV since 3.10 *)
3232

3333
val hash_to_int64 : t -> t
3434
(** Like {!hash} but does not truncate.
3535
Uses FNV.
36-
@since NEXT_RELEASE *)
36+
@since 3.10 *)
3737

3838
val popcount : t -> int
3939
(** Number of bits set to 1.

src/core/CCRef.mli

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ val swap : 'a t -> 'a t -> unit
3636
val protect : 'a t -> 'a -> (unit -> 'b) -> 'b
3737
(** [protect r x f] sets [r := x]; calls [f()]; restores [r] to its old value;
3838
and returns the result of [f()].
39-
@since NEXT_RELEASE *)
39+
@since 3.10 *)
4040

4141
val compare : 'a ord -> 'a t ord
4242
val equal : 'a eq -> 'a t eq

src/core/CCSeq.mli

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,23 +32,23 @@ val singleton : 'a -> 'a t
3232
val init : int -> (int -> 'a) -> 'a t
3333
(** [init n f] corresponds to the sequence [f 0; f 1; ...; f (n-1)].
3434
@raise Invalid_argument if n is negative.
35-
@since NEXT_RELEASE *)
35+
@since 3.10 *)
3636

3737
val repeat : ?n:int -> 'a -> 'a t
3838
(** [repeat ~n x] repeats [x] [n] times then stops. If [n] is omitted,
3939
then [x] is repeated forever. *)
4040

4141
val forever : (unit -> 'a) -> 'a t
4242
(** [forever f] corresponds to the infinit sequence containing all the [f ()].
43-
@since NEXT_RELEASE *)
43+
@since 3.10 *)
4444

4545
val cycle : 'a t -> 'a t
4646
(** Cycle through the iterator infinitely. The iterator shouldn't be empty. *)
4747

4848
val iterate : ('a -> 'a) -> 'a -> 'a t
4949
(** [iterate f a] corresponds to the infinit sequence containing [a], [f a], [f (f a)],
5050
...]
51-
@since NEXT_RELEASE *)
51+
@since 3.10 *)
5252

5353
val unfold : ('b -> ('a * 'b) option) -> 'b -> 'a t
5454
(** [unfold f acc] calls [f acc] and:
@@ -74,7 +74,7 @@ val tail_exn : 'a t -> 'a t
7474

7575
val uncons : 'a t -> ('a * 'a t) option
7676
(** [uncons xs] return [None] if [xs] is empty other
77-
@since NEXT_RELEASE *)
77+
@since 3.10 *)
7878

7979
val equal : 'a equal -> 'a t equal
8080
(** Equality step by step. Eager. *)
@@ -92,11 +92,11 @@ val foldi : ('a -> int -> 'b -> 'a) -> 'a -> 'b t -> 'a
9292
(** [fold_lefti f init xs] applies [f acc i x] where [acc] is the result of the previous
9393
computation or [init] for the first one, [i] is the index in the sequence (starts at
9494
0) and [x] is the element of the sequence.
95-
@since NEXT_RELEASE *)
95+
@since 3.10 *)
9696

9797
val fold_lefti : ('a -> int -> 'b -> 'a) -> 'a -> 'b t -> 'a
9898
(** Alias of {!foldi}.
99-
@since NEXT_RELEASE *)
99+
@since 3.10 *)
100100

101101
val iter : ('a -> unit) -> 'a t -> unit
102102

@@ -127,7 +127,7 @@ val product_with : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t
127127

128128
val map_product : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t
129129
(** Alias of {!product_with}.
130-
@since NEXT_RELEASE *)
130+
@since 3.10 *)
131131

132132
val product : 'a t -> 'b t -> ('a * 'b) t
133133
(** Specialization of {!product_with} producing tuples. *)
@@ -159,29 +159,29 @@ val exists : ('a -> bool) -> 'a t -> bool
159159
val find : ('a -> bool) -> 'a t -> 'a option
160160
(** [find p [a1; ...; an]] return [Some ai] for the first [ai] satisfying the predicate
161161
[p] and return [None] otherwise.
162-
@since NEXT_RELEASE *)
162+
@since 3.10 *)
163163

164164
val find_map : ('a -> 'b option) -> 'a t -> 'b option
165165
(** [find f [a1; ...; an]] return [Some (f ai)] for the first [ai] such that
166166
[f ai = Some _] and return [None] otherwise.
167-
@since NEXT_RELEASE *)
167+
@since 3.10 *)
168168

169169
val scan : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a t
170170
(** [scan f init xs] is the sequence containing the intermediate result of
171171
[fold f init xs].
172-
@since NEXT_RELEASE *)
172+
@since 3.10 *)
173173

174174
val flat_map : ('a -> 'b t) -> 'a t -> 'b t
175175
val concat_map : ('a -> 'b t) -> 'a t -> 'b t
176176
(** Aliass of {!flat_map}
177-
@since NEXT_RELEASE *)
177+
@since 3.10 *)
178178

179179
val filter_map : ('a -> 'b option) -> 'a t -> 'b t
180180

181181
val flatten : 'a t t -> 'a t
182182
val concat : 'a t t -> 'a t
183183
(** Alias of {!flatten}.
184-
@since NEXT_RELEASE *)
184+
@since 3.10 *)
185185

186186
val range : int -> int -> int t
187187

@@ -199,7 +199,7 @@ val fold2 : ('acc -> 'a -> 'b -> 'acc) -> 'acc -> 'a t -> 'b t -> 'acc
199199

200200
val fold_left2 : ('acc -> 'a -> 'b -> 'acc) -> 'acc -> 'a t -> 'b t -> 'acc
201201
(** Alias for {!fold2}.
202-
@since NEXT_RELEASE *)
202+
@since 3.10 *)
203203

204204
val map2 : ('a -> 'b -> 'c) -> 'a t -> 'b t -> 'c t
205205
(** Map on two collections at once. Stop as soon as one of the
@@ -216,7 +216,7 @@ val merge : 'a ord -> 'a t -> 'a t -> 'a t
216216

217217
val sorted_merge : 'a ord -> 'a t -> 'a t -> 'a t
218218
(** Alias of {!merge}.
219-
@since NEXT_RELEASE *)
219+
@since 3.10 *)
220220

221221
val zip : 'a t -> 'b t -> ('a * 'b) t
222222
(** Combine elements pairwise. Stop as soon as one of the lists stops. *)
@@ -226,7 +226,7 @@ val unzip : ('a * 'b) t -> 'a t * 'b t
226226

227227
val split : ('a * 'b) t -> 'a t * 'b t
228228
(** Alias of {!unzip}.
229-
@since NEXT_RELEASE *)
229+
@since 3.10 *)
230230

231231
val zip_i : 'a t -> (int * 'a) t
232232
(** [zip_i seq] zips the index of each element with the element itself.

0 commit comments

Comments
 (0)