mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
updated readme and doc
This commit is contained in:
parent
2fc8b19a67
commit
bd43ff0db4
5 changed files with 28 additions and 10 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
1
Makefile
1
Makefile
|
|
@ -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), \
|
||||||
|
|
|
||||||
21
README.md
21
README.md
|
|
@ -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
8
_oasis
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
*)
|
*)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue