Skip to content

Commit 7c1ca1d

Browse files
committed
prepare for 3.13
1 parent f68d187 commit 7c1ca1d

13 files changed

+133
-58
lines changed

CHANGELOG.md

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

3+
## 3.13
4+
5+
- breaking: delete containers-thread (which was deprecated)
6+
- breaking: pp: modify `Ext.t` so it takes surrounding value
7+
- CCMultiMap: Rename functions find_left and find_right in the bidirectional multimap
8+
to find_left_iter and find_right_iter respectively to reflect their usage,
9+
and add new functions to replace the old find_left and find_right
10+
that return a list of values rather than an iterator,
11+
to make the signatures of CCMultiMap.S and CCMultiMap.BIDIR cohere.
12+
Additionally, change the return type of
13+
`S.find_iter` from `t -> key -> (value -> unit) -> unit` to `t -> key -> value iter`.
14+
15+
- CCList: add `unfold`
16+
- CCBool: Add functions if_then and if_then_else
17+
- CCList: remove some functions that are subsumed by the stdlib
18+
- CCList: use TRMC for many functions on 5.1
19+
- feat CCFunvec: add `fold_rev`
20+
- add `Containers_pp.newline_or_spaces`
21+
- cleanup: remove stubs for code always present on 4.08, rely on
22+
newer functions in 5.1
23+
- remove last refs to `CCShims`
24+
25+
- perf: accelerate `List.append` and `List.flat_map` on 5.1
26+
27+
- more warnings, more tests, cleanup dead code
28+
- change COC to ocaml-coc
29+
330
## 3.12
431

532
- add `containers.pp` sublibrary, with Wadler-style pretty printing combinators

containers-data.opam

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
1+
# This file is generated by dune, edit dune-project instead
12
opam-version: "2.0"
2-
version: "3.12"
3-
author: "Simon Cruanes"
4-
maintainer: "[email protected]"
3+
version: "3.13"
54
synopsis: "A set of advanced datatypes for containers"
5+
maintainer: ["c-cube"]
6+
authors: ["c-cube"]
67
license: "BSD-2-Clause"
8+
tags: ["containers" "RAL" "function" "vector" "okasaki"]
9+
homepage: "https://github.com/c-cube/ocaml-containers/"
10+
bug-reports: "https://github.com/c-cube/ocaml-containers/issues"
11+
depends: [
12+
"dune" {>= "2.9"}
13+
"ocaml" {>= "4.08"}
14+
"containers" {= version}
15+
"qcheck-core" {>= "0.18" & with-test}
16+
"iter" {with-test}
17+
"gen" {with-test}
18+
"mdx" {with-test}
19+
"odoc" {with-doc}
20+
]
21+
dev-repo: "git+https://github.com/c-cube/ocaml-containers.git"
722
build: [
823
["dune" "build" "-p" name "-j" jobs]
924
["dune" "build" "@doc" "-p" name ] {with-doc}
1025
["dune" "runtest" "-p" name "-j" jobs] {with-test & arch != "x86_32" & arch != "arm32"}
1126
]
12-
depends: [
13-
"ocaml" { >= "4.08.0" }
14-
"dune" { >= "2.0" }
15-
"containers" { = version }
16-
| "qcheck-core" {>= "0.20" & with-test}
17-
"iter" { with-test }
18-
"gen" { with-test }
19-
"mdx" { with-test }
20-
"odoc" { with-doc }
21-
]
22-
tags: [ "containers" "RAL" "functional" "vector" "okasaki" ]
23-
homepage: "https://github.com/c-cube/ocaml-containers/"
24-
doc: "https://c-cube.github.io/ocaml-containers"
25-
dev-repo: "git+https://github.com/c-cube/ocaml-containers.git"
26-
bug-reports: "https://github.com/c-cube/ocaml-containers/issues/"

containers-data.opam.template

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
build: [
2+
["dune" "build" "-p" name "-j" jobs]
3+
["dune" "build" "@doc" "-p" name ] {with-doc}
4+
["dune" "runtest" "-p" name "-j" jobs] {with-test & arch != "x86_32" & arch != "arm32"}
5+
]

containers.opam

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,31 @@
1+
# This file is generated by dune, edit dune-project instead
12
opam-version: "2.0"
2-
name: "containers"
3-
version: "3.12"
4-
author: "Simon Cruanes"
5-
maintainer: "[email protected]"
3+
version: "3.13"
4+
synopsis:
5+
"A modular, clean and powerful extension of the OCaml standard library"
6+
maintainer: ["c-cube"]
7+
authors: ["c-cube"]
68
license: "BSD-2-Clause"
7-
synopsis: "A modular, clean and powerful extension of the OCaml standard library"
8-
build: [
9-
["dune" "build" "-p" name "-j" jobs]
10-
["dune" "build" "@doc" "-p" name ] {with-doc}
11-
["dune" "runtest" "-p" name "-j" jobs] {with-test & arch != "x86_32" & arch != "arm32"}
12-
]
9+
tags: ["stdlib" "containers" "iterators" "list" "heap" "queue"]
10+
homepage: "https://github.com/c-cube/ocaml-containers/"
11+
bug-reports: "https://github.com/c-cube/ocaml-containers/issues"
1312
depends: [
14-
"ocaml" { >= "4.08.0" }
15-
"dune" { >= "2.0" }
13+
"dune" {>= "2.9"}
14+
"ocaml" {>= "4.08"}
15+
"either"
1616
"dune-configurator"
17-
"either" # compat
1817
"qcheck-core" {>= "0.18" & with-test}
19-
"yojson" { with-test }
20-
"iter" { with-test }
21-
"gen" { with-test }
22-
"csexp" { with-test }
23-
"uutf" { with-test }
24-
"odoc" { with-doc }
25-
]
26-
depopts: [
27-
"base-unix"
28-
"base-threads"
18+
"yojson" {with-test}
19+
"iter" {with-test}
20+
"gen" {with-test}
21+
"csexp" {with-test}
22+
"uutf" {with-test}
23+
"odoc" {with-doc}
2924
]
30-
tags: [ "stdlib" "containers" "iterators" "list" "heap" "queue" ]
31-
homepage: "https://github.com/c-cube/ocaml-containers/"
32-
doc: "https://c-cube.github.io/ocaml-containers"
25+
depopts: ["base-unix" "base-threads"]
3326
dev-repo: "git+https://github.com/c-cube/ocaml-containers.git"
34-
bug-reports: "https://github.com/c-cube/ocaml-containers/issues/"
27+
build: [
28+
["dune" "build" "-p" name "-j" jobs]
29+
["dune" "build" "@doc" "-p" name ] {with-doc}
30+
["dune" "runtest" "-p" name "-j" jobs] {with-test & arch != "x86_32" & arch != "arm32"}
31+
]

containers.opam.template

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
build: [
2+
["dune" "build" "-p" name "-j" jobs]
3+
["dune" "build" "@doc" "-p" name ] {with-doc}
4+
["dune" "runtest" "-p" name "-j" jobs] {with-test & arch != "x86_32" & arch != "arm32"}
5+
]

dune-project

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,42 @@
1-
(lang dune 2.0)
1+
(lang dune 2.9)
2+
(name containers)
3+
(generate_opam_files true)
4+
5+
(version 3.13)
6+
(authors c-cube)
7+
(maintainers c-cube)
8+
(license BSD-2-Clause)
9+
(homepage "https://github.com/c-cube/ocaml-containers/")
10+
(source (github c-cube/ocaml-containers))
11+
12+
(package
13+
(name containers)
14+
(synopsis "A modular, clean and powerful extension of the OCaml standard library")
15+
(tags (stdlib containers iterators list heap queue))
16+
(depends
17+
(ocaml (>= 4.08))
18+
either
19+
dune-configurator
20+
(qcheck-core (and (>= 0.18) :with-test))
21+
(yojson :with-test)
22+
(iter :with-test)
23+
(gen :with-test)
24+
(csexp :with-test)
25+
(uutf :with-test)
26+
(odoc :with-doc))
27+
(depopts
28+
base-unix
29+
base-threads))
30+
31+
(package
32+
(name containers-data)
33+
(synopsis "A set of advanced datatypes for containers")
34+
(tags (containers RAL function vector okasaki))
35+
(depends
36+
(ocaml (>= 4.08))
37+
(containers (= :version))
38+
(qcheck-core (and (>= 0.18) :with-test))
39+
(iter :with-test)
40+
(gen :with-test)
41+
(mdx :with-test)
42+
(odoc :with-doc)))

src/core/CCBool.mli

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ val equal : t -> t -> bool
1212

1313
val if_then : (unit -> 'a) -> t -> 'a option
1414
(** [if_then f x] is [Some (f ())] if [x] is true and None otherwise.
15-
@since NEXT_RELEASE *)
15+
@since 3.13 *)
1616

1717
val if_then_else : (unit -> 'a) -> (unit -> 'a) -> t -> 'a
1818
(** [if_then_else f g x] is [f ()] if [x] is true and [g ()] otherwise.
19-
@since NEXT_RELEASE *)
19+
@since 3.13 *)
2020

2121
val to_int : t -> int
2222
(** [to_int true = 1], [to_int false = 0].

src/core/CCList.mli

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ val unfold : ('seed -> ('b * 'seed) option) -> 'seed -> 'b list
109109
when [f] produces [None], list production ends.
110110
{b NOTE} if [f] never produces [None], then a {b stack overflow will occur}. Therefore,
111111
great care must be taken to ensure that [f] will produce [None].
112-
@since NEXT_RELEASE
112+
@since 3.13
113113
*)
114114

115115
val count : ('a -> bool) -> 'a list -> int

src/core/dune

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
(action
77
(run %{project_root}/src/core/cpp/cpp.exe %{input-file})))
88
(flags :standard -nolabels -open CCMonomorphic)
9-
(libraries seq either containers.monomorphic))
9+
(libraries either containers.monomorphic))
1010

1111
(ocamllex
1212
(modules CCSexp_lex))

src/data/CCMultiMap.ml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -226,19 +226,19 @@ module type BIDIR = sig
226226

227227
val find_left : t -> left -> right list
228228
(** List of values for this given left-key.
229-
This used to return an iter, but returns a list since NEXT_RELEASE. *)
229+
This used to return an iter, but returns a list since 3.13. *)
230230

231231
val find_left_iter : t -> left -> right iter
232232
(** Iterate on bindings for this given left-key
233-
@since NEXT_RELEASE *)
233+
@since 3.13 *)
234234

235235
val find_right : t -> right -> left list
236236
(** List of values for this given right-key.
237-
This used to return an iter, but returns a list since NEXT_RELEASE. *)
237+
This used to return an iter, but returns a list since 3.13. *)
238238

239239
val find_right_iter : t -> right -> left iter
240240
(** Iterate on bindings for this given left-key
241-
@since NEXT_RELEASE *)
241+
@since 3.13 *)
242242

243243
val find1_left : t -> left -> right option
244244
(** like {!find_left} but returns at most one value *)

0 commit comments

Comments
 (0)