Skip to content

Commit 739dd44

Browse files
committed
prepare for 3.3
1 parent 13028c3 commit 739dd44

18 files changed

+80
-51
lines changed

CHANGELOG.md

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

3+
## 3.3
4+
5+
- feat: add code-generator for optimal bitfields; add tests
6+
- new Canonical sexpr module with printer and parser
7+
8+
- CCSeq: Add `for_all` and `exists`
9+
- feat(sexp): expose last location in decoder
10+
- feat(CCChar): add CCChar.Infix
11+
- feat(CCString): add CCString.foldi
12+
- feat(CCFormat): add `string_lines` combinator
13+
- feat(CCList): update with regards to `partition_map`
14+
- add `CCList.cons'`
15+
- implement {of,add}_*_with family of function in `CCMap` with update (#352)
16+
- add `CCMap.of_{list,iter,seq}_with` functions
17+
- add `CCHashtbl.{of,add}_{list,seq,iter}_with`
18+
19+
- Fix integer overflow warning on jsoo (#346)
20+
- updated fuzzer scripts
21+
22+
### Containers-thread
23+
24+
- refactor(pool): less locking, fix deadlock, more parallelism
25+
- feat(pool): keep one idle thread
26+
- small optim in `Pool.sequence_a`
27+
328
## 3.2
429

530
- add CCEither module

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ map =
431431
- : string option = Some "33"
432432
```
433433

434-
### New types: `CCVector`, `CCHeap`, `CCResult`
434+
### New types: `CCVector`, `CCHeap`, `CCResult`, `CCSexp`
435435

436436
Containers also contains (!) a few datatypes that are not from the standard
437437
library but that are useful in a lot of situations:
@@ -454,6 +454,10 @@ library but that are useful in a lot of situations:
454454
It uses the new `result` type from the standard library (or from
455455
the retrocompatibility package on opam) and provides
456456
many combinators for dealing with `result`.
457+
- `CCSexp` and `CCCanonical_sexp`:
458+
functorized printer and parser for S-expressions, respectively as
459+
actual S-expressions (like `sexplib`) and as canonical binary-safe
460+
S-expressions (like `csexp`)
457461

458462
Now for a few examples:
459463

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.2"
2+
version: "3.3"
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.2"
2+
version: "3.3"
33
author: "Simon Cruanes"
44
maintainer: "[email protected]"
55
synopsis: "An extension of containers for threading"

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.2"
3+
version: "3.3"
44
author: "Simon Cruanes"
55
maintainer: "[email protected]"
66
synopsis: "A modular, clean and powerful extension of the OCaml standard library"

src/core/CCCanonical_sexp.mli

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
See {{: https://en.wikipedia.org/wiki/Canonical_S-expressions} wikipedia}.
77
These S-expressions are binary safe.
88
9-
@since NEXT_RELEASE
9+
@since 3.3
1010
*)
1111

1212
type 'a or_error = ('a, string) result

src/core/CCChar.mli

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,26 +40,26 @@ val pp : Format.formatter -> t -> unit
4040

4141
(** {2 Infix Operators}
4242
43-
@since NEXT_RELEASE *)
43+
@since 3.3 *)
4444

4545
module Infix : sig
4646
val (=) : t -> t -> bool
47-
(** @since NEXT_RELEASE *)
47+
(** @since 3.3 *)
4848

4949
val (<>) : t -> t -> bool
50-
(** @since NEXT_RELEASE *)
50+
(** @since 3.3 *)
5151

5252
val (<) : t -> t -> bool
53-
(** @since NEXT_RELEASE *)
53+
(** @since 3.3 *)
5454

5555
val (>) : t -> t -> bool
56-
(** @since NEXT_RELEASE *)
56+
(** @since 3.3 *)
5757

5858
val (<=) : t -> t -> bool
59-
(** @since NEXT_RELEASE *)
59+
(** @since 3.3 *)
6060

6161
val (>=) : t -> t -> bool
62-
(** @since NEXT_RELEASE *)
62+
(** @since 3.3 *)
6363
end
6464

6565
include module type of Infix

src/core/CCFormat.mli

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ val string_lines : string printer
6969
place of spaces, unlike {!text}.
7070
This means an already formatted string can be displayed inside another
7171
formatter without mangling the indentation.
72-
@since NEXT_RELEASE *)
72+
@since 3.3 *)
7373

7474
val char : char printer (** @since 0.14 *)
7575

src/core/CCHashtbl.ml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ module type S = sig
236236
(** Add the corresponding pairs to the table, using {!Hashtbl.add}.
237237
If a key occurs multiple times in the input, the values are combined
238238
using [f] in an unspecified order.
239-
@since NEXT_RELEASE *)
239+
@since 3.3 *)
240240

241241
val add_seq : 'a t -> (key * 'a) Seq.t -> unit
242242
(** Add the corresponding pairs to the table, using {!Hashtbl.add}.
@@ -249,7 +249,7 @@ module type S = sig
249249
(** Add the corresponding pairs to the table, using {!Hashtbl.add}.
250250
If a key occurs multiple times in the input, the values are combined
251251
using [f] in an unspecified order.
252-
@since NEXT_RELEASE *)
252+
@since 3.3 *)
253253

254254
val of_iter : (key * 'a) iter -> 'a t
255255
(** From the given bindings, added in order.
@@ -261,7 +261,7 @@ module type S = sig
261261
(** From the given bindings, added in order.
262262
If a key occurs multiple times in the input, the values are combined
263263
using [f] in an unspecified order.
264-
@since NEXT_RELEASE *)
264+
@since 3.3 *)
265265

266266
val of_seq : (key * 'a) Seq.t -> 'a t
267267
(** From the given bindings, added in order.
@@ -274,7 +274,7 @@ module type S = sig
274274
(** From the given bindings, added in order.
275275
If a key occurs multiple times in the input, the values are combined
276276
using [f] in an unspecified order.
277-
@since NEXT_RELEASE *)
277+
@since 3.3 *)
278278

279279
val add_iter_count : int t -> key iter -> unit
280280
(** [add_iter_count tbl i] increments the count of each element of [i]
@@ -313,7 +313,7 @@ module type S = sig
313313
(** [of_list l] builds a table from the given list [l] of bindings [k_i -> v_i].
314314
If a key occurs multiple times in the input, the values are combined
315315
using [f] in an unspecified order.
316-
@since NEXT_RELEASE *)
316+
@since 3.3 *)
317317

318318
val update : 'a t -> f:(key -> 'a option -> 'a option) -> k:key -> unit
319319
(** [update tbl ~f ~k] updates key [k] by calling [f k (Some v)] if

src/core/CCHashtbl.mli

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ module Poly : sig
7878
(** Add the corresponding pairs to the table, using {!Hashtbl.add}.
7979
If a key occurs multiple times in the input, the values are combined
8080
using [f] in an unspecified order.
81-
@since NEXT_RELEASE *)
81+
@since 3.3 *)
8282

8383
val add_seq : ('a,'b) Hashtbl.t -> ('a * 'b) Seq.t -> unit
8484
(** Add the corresponding pairs to the table, using {!Hashtbl.add}.
@@ -91,7 +91,7 @@ module Poly : sig
9191
(** Add the corresponding pairs to the table.
9292
If a key occurs multiple times in the input, the values are combined
9393
using [f] in an unspecified order.
94-
@since NEXT_RELEASE *)
94+
@since 3.3 *)
9595

9696
val of_iter : ('a * 'b) iter -> ('a,'b) Hashtbl.t
9797
(** From the given bindings, added in order.
@@ -103,7 +103,7 @@ module Poly : sig
103103
(** From the given bindings, added in order.
104104
If a key occurs multiple times in the input, the values are combined
105105
using [f] in an unspecified order.
106-
@since NEXT_RELEASE *)
106+
@since 3.3 *)
107107

108108
val of_seq : ('a * 'b) Seq.t -> ('a,'b) Hashtbl.t
109109
(** From the given bindings, added in order.
@@ -116,7 +116,7 @@ module Poly : sig
116116
(** From the given bindings, added in order.
117117
If a key occurs multiple times in the input, the values are combined
118118
using [f] in an unspecified order.
119-
@since NEXT_RELEASE *)
119+
@since 3.3 *)
120120

121121
val add_iter_count : ('a, int) Hashtbl.t -> 'a iter -> unit
122122
(** [add_iter_count tbl i] increments the count of each element of [i]
@@ -155,7 +155,7 @@ module Poly : sig
155155
(** From the given bindings, added in order.
156156
If a key occurs multiple times in the input, the values are combined
157157
using [f] in an unspecified order.
158-
@since NEXT_RELEASE *)
158+
@since 3.3 *)
159159

160160
val update : ('a, 'b) Hashtbl.t -> f:('a -> 'b option -> 'b option) -> k:'a -> unit
161161
(** [update tbl ~f ~k] updates key [k] by calling [f k (Some v)] if
@@ -251,7 +251,7 @@ module type S = sig
251251
(** Add the corresponding pairs to the table, using {!Hashtbl.add}.
252252
If a key occurs multiple times in the input, the values are combined
253253
using [f] in an unspecified order.
254-
@since NEXT_RELEASE *)
254+
@since 3.3 *)
255255

256256
val add_seq : 'a t -> (key * 'a) Seq.t -> unit
257257
(** Add the corresponding pairs to the table, using {!Hashtbl.add}.
@@ -264,7 +264,7 @@ module type S = sig
264264
(** Add the corresponding pairs to the table, using {!Hashtbl.add}.
265265
If a key occurs multiple times in the input, the values are combined
266266
using [f] in an unspecified order.
267-
@since NEXT_RELEASE *)
267+
@since 3.3 *)
268268

269269
val of_iter : (key * 'a) iter -> 'a t
270270
(** From the given bindings, added in order.
@@ -276,7 +276,7 @@ module type S = sig
276276
(** From the given bindings, added in order.
277277
If a key occurs multiple times in the input, the values are combined
278278
using [f] in an unspecified order.
279-
@since NEXT_RELEASE *)
279+
@since 3.3 *)
280280

281281
val of_seq : (key * 'a) Seq.t -> 'a t
282282
(** From the given bindings, added in order.
@@ -289,7 +289,7 @@ module type S = sig
289289
(** From the given bindings, added in order.
290290
If a key occurs multiple times in the input, the values are combined
291291
using [f] in an unspecified order.
292-
@since NEXT_RELEASE *)
292+
@since 3.3 *)
293293

294294
val add_iter_count : int t -> key iter -> unit
295295
(** [add_iter_count tbl i] increments the count of each element of [i]
@@ -328,7 +328,7 @@ module type S = sig
328328
(** [of_list l] builds a table from the given list [l] of bindings [k_i -> v_i].
329329
If a key occurs multiple times in the input, the values are combined
330330
using [f] in an unspecified order.
331-
@since NEXT_RELEASE *)
331+
@since 3.3 *)
332332

333333
val update : 'a t -> f:(key -> 'a option -> 'a option) -> k:key -> unit
334334
(** [update tbl ~f ~k] updates key [k] by calling [f k (Some v)] if

0 commit comments

Comments
 (0)