version 0.8

This commit is contained in:
Simon Cruanes 2015-01-26 20:24:52 +01:00
parent ae4c356874
commit a21f097a64
12 changed files with 42 additions and 19 deletions

View file

@ -1,5 +1,28 @@
# Changelog
## 0.8
- add `@Emm` to authors
- refactored heavily `CCFuture` (much simpler, cleaner, basic API and thread pool)
- add `CCLock` in containers.thread
- merged `test_levenshtein` with other tests
- Add experimental rose tree in `Containers_misc.RoseTree`.
- remove a lot of stuff from `containers.misc` (see `_oasis` for details)
- `make devel` command, activating most flags, for developpers (see #27)
- use benchmark 1.4, with the upstreamed tree system
- test `ccvector.iteri`
- add `CCFormat` into core/
- infix map operators for `CCArray`
- `fold_while` impl for `CCList` and `CCArray`
- Added `CCBigstring.length` for more consistency with the `CCString` module.
- 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}_list` in the functor as well. Better doc.
- `CCHashtbl.{keys,values}_list`
- more accurate type for `CCHashtbl.Make`
## 0.7
### breaking

2
_oasis
View file

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

View file

@ -47,7 +47,7 @@ val size : t -> int
val length : t -> int
(** Alias for [size].
@since NEXT_RELEASE *)
@since 0.8 *)
val get : t -> int -> char

View file

@ -56,7 +56,7 @@ module type S = sig
val fold_while : ('a -> 'b -> 'a * [`Stop | `Continue]) -> 'a -> 'b t -> 'a
(** fold left on array until a stop condition via [('a, `Stop)] is
indicated by the accumulator
@since NEXT_RELEASE *)
@since 0.8 *)
val iter : ('a -> unit) -> 'a t -> unit

View file

@ -58,7 +58,7 @@ module type S = sig
val fold_while : ('a -> 'b -> 'a * [`Stop | `Continue]) -> 'a -> 'b t -> 'a
(** Fold left on array until a stop condition via [('a, `Stop)] is
indicated by the accumulator
@since NEXT_RELEASE *)
@since 0.8 *)
val iter : ('a -> unit) -> 'a t -> unit
@ -157,11 +157,11 @@ val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
val (>>|) : 'a t -> ('a -> 'b) -> 'b t
(** Infix version of {!map}
@since NEXT_RELEASE *)
@since 0.8 *)
val (>|=) : 'a t -> ('a -> 'b) -> 'b t
(** Infix version of {!map}
@since NEXT_RELEASE *)
@since 0.8 *)
val except_idx : 'a t -> int -> 'a list
(** Remove given index, obtaining the list of the other elements *)

View file

@ -26,7 +26,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
(** {1 Helpers for Format}
@since NEXT_RELEASE *)
@since 0.8 *)
type 'a sequence = ('a -> unit) -> unit

View file

@ -86,11 +86,11 @@ module type S = sig
val keys_list : ('a, 'b) Hashtbl.t -> 'a list
(** [keys t] is the list of keys in [t].
@since NEXT_RELEASE *)
@since 0.8 *)
val values_list : ('a, 'b) Hashtbl.t -> 'b list
(** [values t] is the list of values in [t].
@since NEXT_RELEASE *)
@since 0.8 *)
val map_list : (key -> 'a -> 'b) -> 'a t -> 'b list
(** Map on a hashtable's items, collect into a list *)

View file

@ -46,11 +46,11 @@ val values : ('a,'b) Hashtbl.t -> 'b sequence
val keys_list : ('a, 'b) Hashtbl.t -> 'a list
(** [keys t] is the list of keys in [t].
@since NEXT_RELEASE *)
@since 0.8 *)
val values_list : ('a, 'b) Hashtbl.t -> 'b list
(** [values t] is the list of values in [t].
@since NEXT_RELEASE *)
@since 0.8 *)
val map_list : ('a -> 'b -> 'c) -> ('a, 'b) Hashtbl.t -> 'c list
(** Map on a hashtable's items, collect into a list *)
@ -83,11 +83,11 @@ module type S = sig
val keys_list : ('a, 'b) Hashtbl.t -> 'a list
(** [keys t] is the list of keys in [t].
@since NEXT_RELEASE *)
@since 0.8 *)
val values_list : ('a, 'b) Hashtbl.t -> 'b list
(** [values t] is the list of values in [t].
@since NEXT_RELEASE *)
@since 0.8 *)
val map_list : (key -> 'a -> 'b) -> 'a t -> 'b list
(** Map on a hashtable's items, collect into a list *)

View file

@ -51,7 +51,7 @@ val fold_right : ('a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val fold_while : ('a -> 'b -> 'a * [`Stop | `Continue]) -> 'a -> 'b t -> 'a
(** Fold until a stop condition via [('a, `Stop)] is
indicated by the accumulator
@since NEXT_RELEASE *)
@since 0.8 *)
val init : int -> (int -> 'a) -> 'a t
(** Same as [Array.init]

View file

@ -152,15 +152,15 @@ module File : sig
file system.
{b Raises} [Sys_error] if there is no file at [path].
@since NEXT_RELEASE *)
@since 0.8 *)
val remove : t -> unit or_error
(** Like [remove_exn] but with an error monad.
@since NEXT_RELEASE *)
@since 0.8 *)
val remove_noerr : t -> unit
(** Like [remove_exn] but do not raise any exception on failure.
@since NEXT_RELEASE *)
@since 0.8 *)
val read_dir : ?recurse:bool -> t -> t gen
(** [read_dir d] returns a sequence of files and directory contained

View file

@ -29,7 +29,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
A persistent, non-lazy tree where each node may have an arbitrary number of
children.
@since NEXT_RELEASE *)
@since 0.8 *)
(** The type of a tree node - a (value, children) pair. *)
type +'a t = [`Node of 'a * 'a t list]

View file

@ -27,7 +27,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
(** {1 Utils around Mutex}
@since NEXT_RELEASE *)
@since 0.8 *)
type 'a t
(** A value surrounded with a lock *)