Releases: c-cube/ocaml-containers
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
3.7
-
add
Format.styling
-
make
Format
compatible with OCaml 5.0, using Stag for colors -
new preprocessor, compatible with merlin, using
[@@@ifge 4.12]
-style pragmas -
feat: add
Byte_buf
, a byte buffer. -
add
CCSeq.{zip_i,of_string}
-
add
CCResult.opt_map
to simplify result function application over optionals (#397) -
add shims for Atomic and Unit
-
expose
CCParse.pos
to get current pos; improve perf -
add
CCVector.resize_with
andCCVector.resize_with_init
, tests and doc (#389) -
add
CCVector.insert
-
update dune to 1.10, condition some rules to unix
-
perf: reduce allocations in
CCSeq.to_array
-
fix asymptotic behavior of resize functions in
CCVector
-
fix: rely on
either
compatibility library