Releases: c-cube/ocaml-containers
3.16
CHANGES:
-
breaking: Renamed predicate parameter of
take_while,rtake_whilefromptof, aligining it with pre-existingdrop_while. -
feat: add
containers.leb128library -
feat: add
CCFun.with_return -
Added functions to the
Charmodule 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_predandor_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_whentoCCListLabels -
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.tso 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_iterfromt -> key -> (value -> unit) -> unittot -> 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.appendandList.flat_mapon 5.1 -
more warnings, more tests, cleanup dead code
-
change COC to ocaml-coc
3.12
-
add
containers.ppsublibrary, 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
recurseandSlice -
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_cbormodule -
feat(CCInt32): add popcount function
-
feat(CCInt64): add
popcountoperation -
CCBV:
- more extensive test suite
- use
bytesunderneath, not an array of integers
-
add
containers_testlib, removing qtest and ounit. -
fix: handle uppercase in string/hex
3.8
-
add
Containers_bencodefor 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