File tree Expand file tree Collapse file tree 13 files changed +133
-58
lines changed Expand file tree Collapse file tree 13 files changed +133
-58
lines changed Original file line number Diff line number Diff line change 1
1
# Changelog
2
2
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
+
3
30
## 3.12
4
31
5
32
- add ` containers.pp ` sublibrary, with Wadler-style pretty printing combinators
Original file line number Diff line number Diff line change
1
+ # This file is generated by dune, edit dune-project instead
1
2
opam-version: "2.0"
2
- version: "3.12"
3
- author: "Simon Cruanes"
4
-
3
+ version: "3.13"
5
4
synopsis: "A set of advanced datatypes for containers"
5
+ maintainer: ["c-cube"]
6
+ authors: ["c-cube"]
6
7
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"
7
22
build: [
8
23
["dune" "build" "-p" name "-j" jobs]
9
24
["dune" "build" "@doc" "-p" name ] {with-doc}
10
25
["dune" "runtest" "-p" name "-j" jobs] {with-test & arch != "x86_32" & arch != "arm32"}
11
26
]
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/"
Original file line number Diff line number Diff line change
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
+ ]
Original file line number Diff line number Diff line change
1
+ # This file is generated by dune, edit dune-project instead
1
2
opam-version: "2.0"
2
- name: "containers"
3
- version: "3.12"
4
- author: "Simon Cruanes"
5
-
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"]
6
8
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"
13
12
depends: [
14
- "ocaml" { >= "4.08.0" }
15
- "dune" { >= "2.0" }
13
+ "dune" {>= "2.9"}
14
+ "ocaml" {>= "4.08"}
15
+ "either"
16
16
"dune-configurator"
17
- "either" # compat
18
17
"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}
29
24
]
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"]
33
26
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
+ ]
Original file line number Diff line number Diff line change
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
+ ]
Original file line number Diff line number Diff line change 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) ) )
Original file line number Diff line number Diff line change @@ -12,11 +12,11 @@ val equal : t -> t -> bool
12
12
13
13
val if_then : (unit -> 'a ) -> t -> 'a option
14
14
(* * [if_then f x] is [Some (f ())] if [x] is true and None otherwise.
15
- @since NEXT_RELEASE *)
15
+ @since 3.13 *)
16
16
17
17
val if_then_else : (unit -> 'a ) -> (unit -> 'a ) -> t -> 'a
18
18
(* * [if_then_else f g x] is [f ()] if [x] is true and [g ()] otherwise.
19
- @since NEXT_RELEASE *)
19
+ @since 3.13 *)
20
20
21
21
val to_int : t -> int
22
22
(* * [to_int true = 1], [to_int false = 0].
Original file line number Diff line number Diff line change @@ -109,7 +109,7 @@ val unfold : ('seed -> ('b * 'seed) option) -> 'seed -> 'b list
109
109
when [f] produces [None], list production ends.
110
110
{b NOTE} if [f] never produces [None], then a {b stack overflow will occur}. Therefore,
111
111
great care must be taken to ensure that [f] will produce [None].
112
- @since NEXT_RELEASE
112
+ @since 3.13
113
113
*)
114
114
115
115
val count : ('a -> bool ) -> 'a list -> int
Original file line number Diff line number Diff line change 6
6
(action
7
7
(run %{project_root}/src/core/cpp/cpp.exe %{input-file})))
8
8
(flags :standard -nolabels -open CCMonomorphic)
9
- (libraries seq either containers.monomorphic))
9
+ (libraries either containers.monomorphic))
10
10
11
11
(ocamllex
12
12
(modules CCSexp_lex))
Original file line number Diff line number Diff line change @@ -226,19 +226,19 @@ module type BIDIR = sig
226
226
227
227
val find_left : t -> left -> right list
228
228
(* * 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 . *)
230
230
231
231
val find_left_iter : t -> left -> right iter
232
232
(* * Iterate on bindings for this given left-key
233
- @since NEXT_RELEASE *)
233
+ @since 3.13 *)
234
234
235
235
val find_right : t -> right -> left list
236
236
(* * 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 . *)
238
238
239
239
val find_right_iter : t -> right -> left iter
240
240
(* * Iterate on bindings for this given left-key
241
- @since NEXT_RELEASE *)
241
+ @since 3.13 *)
242
242
243
243
val find1_left : t -> left -> right option
244
244
(* * like {!find_left} but returns at most one value *)
You can’t perform that action at this time.
0 commit comments