preparing version 0.10

This commit is contained in:
Simon Cruanes 2015-04-10 16:40:45 +02:00
parent 136df67606
commit 0efc342177
12 changed files with 37 additions and 22 deletions

View file

@ -1,5 +1,20 @@
# 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_parse` in `containers_string`, experimental applicative parser combinators
- remove `containers.pervasives`, add the module `Containers` to core
- bugfix in `CCFormat.to_file`
## 0.9
- add `Float`, `Ref`, `Set`, `Format` to `CCPervasives`
@ -178,7 +193,7 @@
- renamed threads/future to threads/CCFuture
- big upgrade of `RAL` (random access lists)
- `CCList.Ref` to help use references on lists
- `CCKList`: group,uniq,sort,sort_uniq,repeat and cycle, infix ops, applicative,product
- `CCKList`: `group,uniq,sort,sort_uniq,repeat` and `cycle`, infix ops, applicative,product
- `CCTrie.above/below`: ranges of items
- more functions in `CCPair`
- `CCCat`: funny (though useless) definitions inspired from Haskell
@ -192,7 +207,7 @@
- conversions for `CCString`
- `CCHashtbl`: open-addressing table (Robin-Hood hashing)
- registered printers for `CCError`.guard,wrap1,etc.
- monadic operator in `CCList`: map_m_par
- monadic operator in `CCList`: `map_m_par`
- simple interface to `PrintBox` now more powerful
- constructors for 1 or 2 elements fqueues
- bugfixes in BTree (insertion should work now)
@ -206,7 +221,7 @@
- `CCopt.pure`
- updated `CCPersistentHashtbl` with new functions; updated doc, simplified code
- move `CCString` into core/, since it deals with a basic type; also add some features to `CCString` (Sub and Split modules to deal with slices and splitting by a string)
- `CCArray.blit`, .Sub.to_slice; some bugfixes
- `CCArray.blit`, `.Sub.to_slice`; some bugfixes
- applicative and lifting operators for `CCError`
- `CCError.map2`
- more combinators in `CCError`
@ -219,9 +234,9 @@
- `CCOpt.sequence_l`
- mplus instance for `CCOpt`
- monad instance for `CCFun`
- updated description in _oasis
- updated description in `_oasis`
- `CCTrie`, a compressed functorial persistent trie structure
- fix `CCPrint.unit`, add `CCPrint.silent`
- fix type mismatch
note: git log --no-merges previous_version..HEAD --pretty=%s
note: `git log --no-merges previous_version..HEAD --pretty=%s`

View file

@ -1,7 +1,7 @@
## Make a release
1. `make test-all`
1. `make test`
2. update version in `_oasis`
3. `make update_next_tag` (to update `@since` comments; be careful not to change symlinks)
4. update `CHANGELOG.md` (see its end to find the right git command)

2
_oasis
View file

@ -1,6 +1,6 @@
OASISFormat: 0.4
Name: containers
Version: 0.9
Version: 0.10
Homepage: https://github.com/c-cube/ocaml-containers
Authors: Simon Cruanes
License: BSD-2-clause

View file

@ -126,14 +126,14 @@ val sort_uniq : ?cmp:('a -> 'a -> int) -> 'a list -> 'a list
val sorted_merge_uniq : ?cmp:('a -> 'a -> int) -> 'a list -> 'a list -> 'a list
(** [sorted_merge_uniq l1 l2] merges the sorted lists [l1] and [l2] and
removes duplicates
@since NEXT_RELEASE *)
@since 0.10 *)
val uniq_succ : ?eq:('a -> 'a -> bool) -> 'a list -> 'a list
(** [uniq_succ l] removes duplicate elements that occur one next to the other.
Examples:
[uniq_succ [1;2;1] = [1;2;1]]
[uniq_succ [1;1;2] = [1;2]]
@since NEXT_RELEASE *)
@since 0.10 *)
(** {2 Indices} *)

View file

@ -115,23 +115,23 @@ val suffix : suf:string -> string -> bool
val lines : string -> string list
(** [lines s] returns a list of the lines of [s] (splits along '\n')
@since NEXT_RELEASE *)
@since 0.10 *)
val lines_gen : string -> string gen
(** [lines_gen s] returns a generator of the lines of [s] (splits along '\n')
@since NEXT_RELEASE *)
@since 0.10 *)
val concat_gen : sep:string -> string gen -> string
(** [concat_gen ~sep g] concatenates all strings of [g], separated with [sep].
@since NEXT_RELEASE *)
@since 0.10 *)
val unlines : string list -> string
(** [unlines l] concatenates all strings of [l], separated with '\n'
@since NEXT_RELEASE *)
@since 0.10 *)
val unlines_gen : string gen -> string
(** [unlines_gen g] concatenates all strings of [g], separated with '\n'
@since NEXT_RELEASE *)
@since 0.10 *)
(*$Q
Q.printable_string (fun s -> unlines (lines s) = s)

View file

@ -44,7 +44,7 @@ Changed [Opt] to [Option] to better reflect that this module is about the
Renamed from [CCPervasives] in [containers.pervasives], to [Containers]
in the core library [containers]
@since NEXT_RELEASE
@since 0.10
*)
module Array = struct

View file

@ -112,7 +112,7 @@ val append : 'a t -> 'a t -> 'a t
val rev : 'a t -> 'a t
(** Reverse the queue, O(n) complexity
@since NEXT_RELEASE *)
@since 0.10 *)
val map : ('a -> 'b) -> 'a t -> 'b t
(** Map values *)
@ -146,5 +146,5 @@ val of_klist : 'a klist -> 'a t
val (--) : int -> int -> int t
(** [a -- b] is the integer range from [a] to [b], both included.
@since NEXT_RELEASE *)
@since 0.10 *)

View file

@ -27,7 +27,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
(** {1 Map specialized for Int keys}
{b status: unstable}
@since NEXT_RELEASE *)
@since 0.10 *)
type 'a t

View file

@ -30,7 +30,7 @@ From the paper by Jean-Christophe Filliâtre,
"A persistent Union-Find data structure", see
{{: https://www.lri.fr/~filliatr/ftp/publis/puf-wml07.ps} the ps version}
@since NEXT_RELEASE *)
@since 0.10 *)
type 'a t
(** The type of persistent arrays *)

View file

@ -4,7 +4,7 @@
Playing stuff, don't use (yet?).
{b status: experimental}
@since NEXT_RELEASE
@since 0.10
*)
module type MONAD = sig

View file

@ -52,7 +52,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
]}
{b status: experimental}
@since NEXT_RELEASE
@since 0.10
*)
type ('a,'b) result = [`Error of 'b | `Ok of 'a]

View file

@ -29,7 +29,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Some useful functions built on top of Unix.
{b status: unstable}
@since NEXT_RELEASE *)
@since 0.10 *)
type 'a or_error = [`Ok of 'a | `Error of string]
type 'a gen = unit -> 'a option