Releases: c-cube/ocaml-containers
3.16
CHANGES:
-
breaking: Renamed predicate parameter of
take_while
,rtake_while
fromp
tof
, aligining it with pre-existingdrop_while
. -
feat: add
containers.leb128
library -
feat: add
CCFun.with_return
-
Added functions to the
Char
module to check common character properties. -
feat: add
CCVector.findi
-
fix: compat with OCaml 5.4
-
fix: oob(!!) in CCHash.bytes
3.15
3.14
CHANGES:
-
predicate combinators:
and_pred
andor_pred
-
feat
pp
: add a bunch of extensions -
Kleisli Composition Operator and Apply_or for option/result/fun (#455)
-
add
CCByte_buffer.to_slice
-
add a byte slice type
CCByte_slice
-
add
cons_when
toCCListLabels
-
add
(|||>)
and||>
toCCFun
-
CCVector
: Add function foldi -
add
containers.pvec
, a persistent vector type. -
perf: use a monomorphic impl for
CCMonomorphic.{min,max}
3.13.1
3.13
CHANGES:
-
breaking: delete containers-thread (which was deprecated)
-
breaking: pp: modify
Ext.t
so it takes surrounding value -
CCMultiMap: Rename functions find_left and find_right in the bidirectional multimap
to find_left_iter and find_right_iter respectively to reflect their usage,
and add new functions to replace the old find_left and find_right
that return a list of values rather than an iterator,
to make the signatures of CCMultiMap.S and CCMultiMap.BIDIR cohere.
Additionally, change the return type of
S.find_iter
fromt -> key -> (value -> unit) -> unit
tot -> key -> value iter
. -
CCList: add
unfold
-
CCBool: Add functions if_then and if_then_else
-
CCList: remove some functions that are subsumed by the stdlib
-
CCList: use TRMC for many functions on 5.1
-
feat CCFunvec: add
fold_rev
-
add
Containers_pp.newline_or_spaces
-
cleanup: remove stubs for code always present on 4.08, rely on
newer functions in 5.1 -
remove last refs to
CCShims
-
perf: accelerate
List.append
andList.flat_map
on 5.1 -
more warnings, more tests, cleanup dead code
-
change COC to ocaml-coc
3.12
-
add
containers.pp
sublibrary, with Wadler-style pretty printing combinators -
add
CCArray.{max,argmax,min,argmin}
and their _exn counterparts -
add
CCParse.take_until_success
-
add
Option.flat_map_l
-
add
CCSet.{find_first_map,find_last_map}
-
CCHash
: native FNV hash for int64/int32 -
fix bugs in CCParse related to
recurse
andSlice
-
fix: fix Set.find_last_map on OCaml 4.03
-
fix: make sure
Vector.to_{seq,gen}
captures the length initially
3.11
3.10
3.9
-
feat: add
Containers_cbor
module -
feat(CCInt32): add popcount function
-
feat(CCInt64): add
popcount
operation -
CCBV:
- more extensive test suite
- use
bytes
underneath, not an array of integers
-
add
containers_testlib
, removing qtest and ounit. -
fix: handle uppercase in string/hex
3.8
-
add
Containers_bencode
for lightweight (de)ser -
perf(CCHash): improve a bit commutative hashing of arrays/lists
-
perf(CCHash): only hash prefix of string/bytes
-
feat(CCList): Add
Assoc.{keys,values,map_values}
-
feat(CCArray): add
CCArray.map_inplace
-
add
CCString.{to_hex,of_hex}
-
fix(Atomic): prevent race conditions under flambda, for now