mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
8.5 KiB
8.5 KiB
Changelog
0.10
- add
containers.misc.Puf.iter - add
CCString.{lines,unlines,concat_gen} CCUnix(with a small subprocess API)- add
CCList.{sorted_merge_uniq, uniq_succ} - breaking: fix documentation of
CCList.sorted_merge(different semantics) CCPersistentArray(credit to @gbury and Jean-Christophe Filliâtre)CCIntMap(big-endian patricia trees) in containers.data- bugfix in
CCFQueue.add_seq_front - add
CCFQueue.{rev, --} - add
App_parseincontainers.string, experimental applicative parser combinators - remove
containers.pervasives, add the moduleContainersto core - bugfix in
CCFormat.to_file
0.9
- add
Float,Ref,Set,FormattoCCPervasives CCRingBuffer.append(simple implementation)containers.datanow depends on bytes- new
CCRingBuffermodule, imperative deque with batch (blit) operations, mostly done by Carmelo Piccione - new
Lwt_pipeandLwt_kliststreams for Lwt, respectively (un)bounded synchronized queues and lazy lists CCKTree.print, a simple S-expressions printer for generic trees- Add
CCMixmapin containers.data (close #40), functional alternative toCCMixtbl - remove old META file
- simplified
CCTrieimplementation - use "compiledObject: best" in
_oasisfor binaries - document some invariants in
CCCache(see #38) - tests for
CCCache.lru - fix
CCFormat.seqcombinator - add
CCSetmodule in core/ - add
CCRefmodule in core/
0.8
- add
@Emmto authors - refactored heavily
CCFuture(much simpler, cleaner, basic API and thread pool) - add
CCLockin containers.thread - merged
test_levenshteinwith other tests - Add experimental rose tree in
Containers_misc.RoseTree. - remove a lot of stuff from
containers.misc(see_oasisfor details) make develcommand, activating most flags, for developpers (see #27)- use benchmark 1.4, with the upstreamed tree system
- test
ccvector.iteri - add
CCFormatinto core/ - infix map operators for
CCArray fold_whileimpl forCCListandCCArray- Added
CCBigstring.lengthfor more consistency with theCCStringmodule. - Added name and dev fields in the OPAM file for local pinning.
- Fix
CCIO.remove*functions. - Added
CCIO.remove_safe. - only build doc if all the required flags are enabled
CCHashtbl.{keys,values}_listin the functor as well. Better doc.CCHashtbl.{keys,values}_list- more accurate type for
CCHashtbl.Make
0.7
breaking
- remove
cgi/ - removed useless Lwt-related module
- remove
CCGenandCCsequence(use the separate libraries) - split the library into smaller pieces (with
containers.io,containers.iter,containers.sexp,containers.data)
other changes
- cleanup: move sub-libraries to their own subdir each; mv everything into
src/ sexp:CCSexpnow splitted intoCCSexp(manipulating expressions) andCCSexpStream- add
CCSexpMfor a simpler, monadic parser of S-expressions (deprecatingCCSexpStream)
core:CCString.foldCCstring.suffix- more efficient
CCString.init - fix errors in documentation of
CCString(slightly over-reaching sed) - add
CCFloat.{fsign, sign_exn}(thanks @bernardofpc)
- new
containers.bigarray, withCCBigstring CCHashtbl.map_listio:CCIO.read_allnow with ?size parameter- use
Bytes.extend(praise modernity!) - bugfix in
CCIO.read_allandCCIO.read_chunks
- use
-no-alias-deps
0.6.1
- use subtree
gen/forCCGen(symlink) rather than a copy. - Add benchmarks for the function
iterof iterators. CCKTree: more printers (to files),FormatprinterCCOpt.get_lazyconvenience function- introduce
CCFloat, add float functions toCCRandom(thanks to @struktured)
0.6
breaking changes
- new
CCIOmodule, much simpler, but incompatible interface - renamed
CCIOtoadvanced.CCMonadIO
other changes
CCMultiSet.{add_mult,remove_mult,update}CCVector.{top,top_exn}CCFun.compose_binop(binary composition)CCList.initCCError.map2has a more general type (thanks to @hcarty)- new module
CCCache- moved from
misc - add
CCache.{size,iter} - incompatible interface (functor -> values), much simpler to use
- moved from
lwt/Lwt_actorstub, for erlang-style concurrency (albeit much much more naive)misc/Mixtbladded from its old repository- more benchmarks, with a more general system to select/run them
- more efficient versions of
CCList.{flatten,append,flat_map}, some functions are now tailrec
0.5
breaking changes
- dependency on
cppo(thanks to @whitequark, seeAUTHORS.md) andbytes CCError:- now polymorphic on the error type
- some retro-incompatibilies (wrap,guard)
CCPervasives.Opt->CCPervasives.OptionLevenshtein.Index.removechanged signature (useless param removed)
other changes
- stronger inlining for
CCVector(so that e.g. push is inline) - more tests for
CCVector - removed many warnings
CCSequencenow provides some bytes-dependent operationsCCList.(>|=)map operatorCCOpt.filterCCInt.negCCMapwrapper to the standardMapmodule- make some functions in
CCFunandCCStringdepend on ocaml version - thanks to @whitequark, could use cppo for preprocessing files
- add Format printers to
CCString AUTHORS.md
0.4.1
CCOpt.get- new functions in
CCSexp.Traverse - comments in
CCMultiSet.mli, to explain meet/intersection/union CCMultiset: Add meet- update of readme
- generate doc for
containers.advanced
0.4
core/CCSexpfor fast and lightweight S-expressions parsing/printing- moved
CCLinq,CCBatchandCCatfrom core/ to advanced/ - ensure compatibility with ocaml 4.00
- get rid of deprecated
Array.create - move benchmarks to benchs/ so they are separate from tests
CCError.{iter,get_exn}CCPair.print- some small improvements to
CCRandom - moved
CCHashtbltoCCFlatHashtbl; new moduleCCHashtblthat wraps and extends the standard hashtable CCPervasivesmodule, replacing modules of the standard library- removed type alias
CCString.t(duplicate of String.t which already exists)
0.3.4
- subtree for
sequencerepo CCSequenceis now a copy ofsequenceCCOpt.wrap{1,2}CCList.findi,CCArray.findiandCCArray.find_idx- better
Formatprinters (using break hints) - specialize some comparison functions
CCOrd.map
0.3.3
- readme: add ci hook (to http://ci.cedeela.fr)
CCIO: monad for IO actions-as-values- explicit finalizer system, to use a
>>>=operator rather than callbacks Filefor basic filenames manipulationsSeqfor streams
- explicit finalizer system, to use a
CCMultiMap: functor for bidirectional mappingsCCMultiSet: sequence- renamed threads/future to threads/CCFuture
- big upgrade of
RAL(random access lists) CCList.Refto help use references on listsCCKList:group,uniq,sort,sort_uniq,repeatandcycle, infix ops, applicative,productCCTrie.above/below: ranges of items- more functions in
CCPair CCCat: funny (though useless) definitions inspired from HaskellCCList: applicative instanceCCString.initCCError.fail_printf
0.3.2
- small change in makefile
- conversions for
CCString CCHashtbl: open-addressing table (Robin-Hood hashing)- registered printers for
CCError.guard,wrap1,etc. - monadic operator in
CCList:map_m_par - simple interface to
PrintBoxnow more powerful - constructors for 1 or 2 elements fqueues
- bugfixes in BTree (insertion should work now)
CCFQueue: logarithmic access by index- add BTree partial implementation (not working yet)
- fix bug in
CCPrint.to_file CCArray.lookupfor divide-and-conquer searchCCList.sort_uniqCCError: retry and choose combinators- stub for monadic IO in
CCPrint CCopt.pure- updated
CCPersistentHashtblwith new functions; updated doc, simplified code - move
CCStringinto core/, since it deals with a basic type; also add some features toCCString(Sub and Split modules to deal with slices and splitting by a string) CCArray.blit,.Sub.to_slice; some bugfixes- applicative and lifting operators for
CCError CCError.map2- more combinators in
CCError
0.3.1
- test for
CCArray.shuffle - bugfix in
CCArray.shuffle CCOpt.get_exnCCOpt.sequence_l- mplus instance for
CCOpt - monad instance for
CCFun - updated description in
_oasis CCTrie, a compressed functorial persistent trie structure- fix
CCPrint.unit, addCCPrint.silent - fix type mismatch
note: git log --no-merges previous_version..HEAD --pretty=%s