updated readme and doc

This commit is contained in:
Simon Cruanes 2014-11-23 15:41:20 +01:00
parent 2fc8b19a67
commit bd43ff0db4
5 changed files with 28 additions and 10 deletions

View file

@ -6,7 +6,6 @@
- new `CCIO` module, much simpler, but incompatible interface
- renamed `CCIO` to `advanced.CCMonadIO`
- `CCError.t` now has two type arguments (thanks to @hcarty)
#### other changes
@ -14,12 +13,13 @@
- `CCVector.{top,top_exn}`
- `CCFun.compose_binop` (binary composition)
- `CCList.init`
- `CCError.map2` has 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
- `lwt/Lwt_actor` stub, for erlang-style concurrency (albeit much much more naive)
- `misc/Mixtbl`
- `misc/Mixtbl` added 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

View file

@ -57,6 +57,7 @@ push_doc: doc
scp -r containers_string.docdir/* cedeela.fr:~/simon/root/software/containers/string/
scp -r containers_advanced.docdir/* cedeela.fr:~/simon/root/software/containers/advanced
scp -r containers_misc.docdir/* cedeela.fr:~/simon/root/software/containers/misc/
scp -r containers_lwt.docdir/* cedeela.fr:~/simon/root/software/containers/lwt/
DONTTEST=myocamlbuild.ml setup.ml $(wildcard **/*.cppo*)
QTESTABLE=$(filter-out $(DONTTEST), \

View file

@ -17,7 +17,9 @@ ocaml-containers
modules of the stdlib.
4. A sub-library with complicated abstractions, `containers.advanced` (with
a LINQ-like query module, batch operations using GADTs, and others)
5. Random stuff, with *NO* *GUARANTEE* of even being barely usable or tested,
5. A library using [Lwt](https://github.com/ocsigen/lwt/), `containers.lwt`.
Currently only contains experimental, unstable stuff.
6. Random stuff, with *NO* *GUARANTEE* of even being barely usable or tested,
in other dirs (mostly `misc` but also `lwt` and `threads`). It's where I
tend to write code when I want to test some idea, so half the modules (at
least) are unfinished or don't really work.
@ -50,11 +52,6 @@ If you have comments, requests, or bugfixes, please share them! :-)
This code is free, under the BSD license.
## Documentation
The API documentation can be
found [here](http://cedeela.fr/~simon/software/containers).
## Contents
The design is mostly centered around polymorphism rather than functors. Such
@ -62,6 +59,12 @@ structures comprise (some modules in `misc/`, some other in `core/`):
### Core Structures
the core library, `containers`, now depends on
[cppo](https://github.com/mjambon/cppo) and `base-bytes` (provided
by ocamlfind).
Documentation [here](http://cedeela.fr/~simon/software/containers).
- `CCHeap`, a purely functional heap structure.
- `CCFQueue`, a purely functional double-ended queue structure
- `CCBV`, mutable bitvectors
@ -72,9 +75,10 @@ structures comprise (some modules in `misc/`, some other in `core/`):
- `CCList`, functions on lists, including tail-recursive implementations of `map` and `append` and many other things
- `CCArray`, utilities on arrays and slices
- `CCMultimap` and `CCMultiset`, functors defining persistent structures
- `CCHashtbl`, an extension of the standard hashtbl module
- `CCHashtbl`, `CCMap` extensions of the standard modules `Hashtbl` and `Map`
- `CCFlatHashtbl`, a flat (open-addressing) hashtable functorial implementation
- `CCKTree`, an abstract lazy tree structure (similar to what `CCKlist` is to lists)
- `CCTrie`, a prefix tree
- small modules (basic types, utilities):
- `CCInt`
- `CCString` (basic string operations)
@ -87,6 +91,9 @@ structures comprise (some modules in `misc/`, some other in `core/`):
- `CCPrint` (printing combinators)
- `CCHash` (hashing combinators)
- `CCError` (monadic error handling, very useful)
- `CCSexp`, a small S-expression library
- `CCIO`, basic utilities for IO
- `CCCache`, memoization caches, LRU, etc.
### String

8
_oasis
View file

@ -148,6 +148,14 @@ Document containers_advanced
XOCamlbuildPath: .
XOCamlbuildLibraries: containers.advanced
Document containers_lwt
Title: Containers_lwt docs
Type: ocamlbuild (0.3)
BuildTools+: ocamldoc
Install: true
XOCamlbuildPath: .
XOCamlbuildLibraries: containers.lwt
Executable run_benchs
Path: benchs/
Install: false

View file

@ -26,7 +26,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
(** {1 Small Actor system for Lwt}
Let's draw inspiration from Erlang. Just a tiny bit.
Let's draw inspiration from Erlang. Just a tiny bit. Currently
this module is unstable and experimental.
{b NOTE}: this module is not thread-safe at all.
*)