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 - new `CCIO` module, much simpler, but incompatible interface
- renamed `CCIO` to `advanced.CCMonadIO` - renamed `CCIO` to `advanced.CCMonadIO`
- `CCError.t` now has two type arguments (thanks to @hcarty)
#### other changes #### other changes
@ -14,12 +13,13 @@
- `CCVector.{top,top_exn}` - `CCVector.{top,top_exn}`
- `CCFun.compose_binop` (binary composition) - `CCFun.compose_binop` (binary composition)
- `CCList.init` - `CCList.init`
- `CCError.map2` has a more general type (thanks to @hcarty)
- new module `CCCache` - new module `CCCache`
* moved from `misc` * moved from `misc`
* add `CCache`.{size,iter} * add `CCache`.{size,iter}
* incompatible interface (functor -> values), much simpler to use * incompatible interface (functor -> values), much simpler to use
- `lwt/Lwt_actor` stub, for erlang-style concurrency (albeit much much more naive) - `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 benchmarks, with a more general system to select/run them
- more efficient versions of `CCList.{flatten,append,flat_map}`, some functions - more efficient versions of `CCList.{flatten,append,flat_map}`, some functions
are now tailrec 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_string.docdir/* cedeela.fr:~/simon/root/software/containers/string/
scp -r containers_advanced.docdir/* cedeela.fr:~/simon/root/software/containers/advanced 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_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*) DONTTEST=myocamlbuild.ml setup.ml $(wildcard **/*.cppo*)
QTESTABLE=$(filter-out $(DONTTEST), \ QTESTABLE=$(filter-out $(DONTTEST), \

View file

@ -17,7 +17,9 @@ ocaml-containers
modules of the stdlib. modules of the stdlib.
4. A sub-library with complicated abstractions, `containers.advanced` (with 4. A sub-library with complicated abstractions, `containers.advanced` (with
a LINQ-like query module, batch operations using GADTs, and others) 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 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 tend to write code when I want to test some idea, so half the modules (at
least) are unfinished or don't really work. 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. This code is free, under the BSD license.
## Documentation
The API documentation can be
found [here](http://cedeela.fr/~simon/software/containers).
## Contents ## Contents
The design is mostly centered around polymorphism rather than functors. Such 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 ### 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. - `CCHeap`, a purely functional heap structure.
- `CCFQueue`, a purely functional double-ended queue structure - `CCFQueue`, a purely functional double-ended queue structure
- `CCBV`, mutable bitvectors - `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 - `CCList`, functions on lists, including tail-recursive implementations of `map` and `append` and many other things
- `CCArray`, utilities on arrays and slices - `CCArray`, utilities on arrays and slices
- `CCMultimap` and `CCMultiset`, functors defining persistent structures - `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 - `CCFlatHashtbl`, a flat (open-addressing) hashtable functorial implementation
- `CCKTree`, an abstract lazy tree structure (similar to what `CCKlist` is to lists) - `CCKTree`, an abstract lazy tree structure (similar to what `CCKlist` is to lists)
- `CCTrie`, a prefix tree
- small modules (basic types, utilities): - small modules (basic types, utilities):
- `CCInt` - `CCInt`
- `CCString` (basic string operations) - `CCString` (basic string operations)
@ -87,6 +91,9 @@ structures comprise (some modules in `misc/`, some other in `core/`):
- `CCPrint` (printing combinators) - `CCPrint` (printing combinators)
- `CCHash` (hashing combinators) - `CCHash` (hashing combinators)
- `CCError` (monadic error handling, very useful) - `CCError` (monadic error handling, very useful)
- `CCSexp`, a small S-expression library
- `CCIO`, basic utilities for IO
- `CCCache`, memoization caches, LRU, etc.
### String ### String

8
_oasis
View file

@ -148,6 +148,14 @@ Document containers_advanced
XOCamlbuildPath: . XOCamlbuildPath: .
XOCamlbuildLibraries: containers.advanced 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 Executable run_benchs
Path: benchs/ Path: benchs/
Install: false 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} (** {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. {b NOTE}: this module is not thread-safe at all.
*) *)