mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2026-01-21 16:56:39 -05:00
prepare for 3.17
This commit is contained in:
parent
d4fdff884f
commit
5461dcc07a
6 changed files with 63 additions and 34 deletions
11
CHANGELOG.md
11
CHANGELOG.md
|
|
@ -1,4 +1,15 @@
|
||||||
|
|
||||||
|
|
||||||
|
## 3.17
|
||||||
|
|
||||||
|
- feat: add `CCAtomic.update_cas`
|
||||||
|
- feat: add `Pvec.flat_map`
|
||||||
|
- faster `List.take_drop` thanks to a trick by nojb
|
||||||
|
|
||||||
|
- move to ocamlformat 0.27, format code
|
||||||
|
- test: enrich pvec test
|
||||||
|
- Patch CBor roundtrip property to hold for nan's too (thanks @jmid)
|
||||||
|
|
||||||
## 3.16
|
## 3.16
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# This file is generated by dune, edit dune-project instead
|
# This file is generated by dune, edit dune-project instead
|
||||||
opam-version: "2.0"
|
opam-version: "2.0"
|
||||||
version: "3.15"
|
version: "3.17"
|
||||||
synopsis: "A set of advanced datatypes for containers"
|
synopsis: "A set of advanced datatypes for containers"
|
||||||
maintainer: ["c-cube"]
|
maintainer: ["c-cube"]
|
||||||
authors: ["c-cube"]
|
authors: ["c-cube"]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# This file is generated by dune, edit dune-project instead
|
# This file is generated by dune, edit dune-project instead
|
||||||
opam-version: "2.0"
|
opam-version: "2.0"
|
||||||
version: "3.15"
|
version: "3.17"
|
||||||
synopsis:
|
synopsis:
|
||||||
"A modular, clean and powerful extension of the OCaml standard library"
|
"A modular, clean and powerful extension of the OCaml standard library"
|
||||||
maintainer: ["c-cube"]
|
maintainer: ["c-cube"]
|
||||||
|
|
|
||||||
78
dune-project
78
dune-project
|
|
@ -1,42 +1,60 @@
|
||||||
(lang dune 3.0)
|
(lang dune 3.0)
|
||||||
|
|
||||||
(name containers)
|
(name containers)
|
||||||
|
|
||||||
(generate_opam_files true)
|
(generate_opam_files true)
|
||||||
|
|
||||||
(version 3.15)
|
(version 3.17)
|
||||||
|
|
||||||
(authors c-cube)
|
(authors c-cube)
|
||||||
|
|
||||||
(maintainers c-cube)
|
(maintainers c-cube)
|
||||||
|
|
||||||
(license BSD-2-Clause)
|
(license BSD-2-Clause)
|
||||||
|
|
||||||
(homepage "https://github.com/c-cube/ocaml-containers/")
|
(homepage "https://github.com/c-cube/ocaml-containers/")
|
||||||
(source (github c-cube/ocaml-containers))
|
|
||||||
|
(source
|
||||||
|
(github c-cube/ocaml-containers))
|
||||||
|
|
||||||
(package
|
(package
|
||||||
(name containers)
|
(name containers)
|
||||||
(synopsis "A modular, clean and powerful extension of the OCaml standard library")
|
(synopsis
|
||||||
(tags (stdlib containers iterators list heap queue))
|
"A modular, clean and powerful extension of the OCaml standard library")
|
||||||
(depends
|
(tags
|
||||||
(ocaml (>= 4.08))
|
(stdlib containers iterators list heap queue))
|
||||||
either
|
(depends
|
||||||
dune-configurator
|
(ocaml
|
||||||
(qcheck-core (and (>= 0.18) :with-test))
|
(>= 4.08))
|
||||||
(yojson :with-test)
|
either
|
||||||
(iter :with-test)
|
dune-configurator
|
||||||
(gen :with-test)
|
(qcheck-core
|
||||||
(csexp :with-test)
|
(and
|
||||||
(uutf :with-test)
|
(>= 0.18)
|
||||||
(odoc :with-doc))
|
:with-test))
|
||||||
(depopts
|
(yojson :with-test)
|
||||||
base-unix
|
(iter :with-test)
|
||||||
base-threads))
|
(gen :with-test)
|
||||||
|
(csexp :with-test)
|
||||||
|
(uutf :with-test)
|
||||||
|
(odoc :with-doc))
|
||||||
|
(depopts base-unix base-threads))
|
||||||
|
|
||||||
(package
|
(package
|
||||||
(name containers-data)
|
(name containers-data)
|
||||||
(synopsis "A set of advanced datatypes for containers")
|
(synopsis "A set of advanced datatypes for containers")
|
||||||
(tags (containers RAL function vector okasaki))
|
(tags
|
||||||
(depends
|
(containers RAL function vector okasaki))
|
||||||
(ocaml (>= 4.08))
|
(depends
|
||||||
(containers (= :version))
|
(ocaml
|
||||||
(qcheck-core (and (>= 0.18) :with-test))
|
(>= 4.08))
|
||||||
(iter :with-test)
|
(containers
|
||||||
(gen :with-test)
|
(= :version))
|
||||||
(mdx :with-test)
|
(qcheck-core
|
||||||
(odoc :with-doc)))
|
(and
|
||||||
|
(>= 0.18)
|
||||||
|
:with-test))
|
||||||
|
(iter :with-test)
|
||||||
|
(gen :with-test)
|
||||||
|
(mdx :with-test)
|
||||||
|
(odoc :with-doc)))
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ let[@inline never] decr r =
|
||||||
[let res, x = f !atomic in atomic := x; res]
|
[let res, x = f !atomic in atomic := x; res]
|
||||||
done atomically. [f] might be called multiple times and must be as cheap
|
done atomically. [f] might be called multiple times and must be as cheap
|
||||||
as possible.
|
as possible.
|
||||||
@since NEXT_RELEASE *)
|
@since 3.17 *)
|
||||||
let update_cas (type res) (self : 'a t) (f : 'a -> res * 'a) : res =
|
let update_cas (type res) (self : 'a t) (f : 'a -> res * 'a) : res =
|
||||||
let exception Ret of res in
|
let exception Ret of res in
|
||||||
let backoff = ref 1 in
|
let backoff = ref 1 in
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ val map : ('a -> 'b) -> 'a t -> 'b t
|
||||||
val flat_map : ('a -> 'b t) -> 'a t -> 'b t
|
val flat_map : ('a -> 'b t) -> 'a t -> 'b t
|
||||||
(** A basic, fairly slow [flat_map] operation like {!CCList.flat_map}.
|
(** A basic, fairly slow [flat_map] operation like {!CCList.flat_map}.
|
||||||
It exists for convenience but is not where this data structure shines.
|
It exists for convenience but is not where this data structure shines.
|
||||||
@since NEXT_RELEASE *)
|
@since 3.17 *)
|
||||||
|
|
||||||
val choose : 'a t -> 'a option
|
val choose : 'a t -> 'a option
|
||||||
(** Return an element. It is unspecified which one is returned. *)
|
(** Return an element. It is unspecified which one is returned. *)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue