mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-09 20:55:31 -05:00
version 0.8
This commit is contained in:
parent
ae4c356874
commit
a21f097a64
12 changed files with 42 additions and 19 deletions
23
CHANGELOG.md
23
CHANGELOG.md
|
|
@ -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
2
_oasis
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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 *)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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 *)
|
||||
|
|
|
|||
|
|
@ -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 *)
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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 *)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue