mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 19:25:28 -05:00
fix and update README
This commit is contained in:
parent
79d5b061dd
commit
375f457552
1 changed files with 17 additions and 21 deletions
38
README.adoc
38
README.adoc
|
|
@ -1,4 +1,4 @@
|
||||||
= ocaml-containers =
|
= OCaml-containers =
|
||||||
:toc: macro
|
:toc: macro
|
||||||
:source-highlighter: pygments
|
:source-highlighter: pygments
|
||||||
|
|
||||||
|
|
@ -7,21 +7,21 @@ image::media/logo.png[logo]
|
||||||
What is _containers_?
|
What is _containers_?
|
||||||
|
|
||||||
- A usable, reasonably well-designed library that extends OCaml's standard
|
- A usable, reasonably well-designed library that extends OCaml's standard
|
||||||
library (in `core/`, packaged under `containers` in ocamlfind. Modules
|
library (in 'src/core/', packaged under `containers` in ocamlfind. Modules
|
||||||
are totally independent and are prefixed with `CC` (for "containers-core"
|
are totally independent and are prefixed with `CC` (for "containers-core"
|
||||||
or "companion-cube" because I'm megalomaniac). This part should be
|
or "companion-cube" because I'm megalomaniac). This part should be
|
||||||
usable and should work. For instance, `CCList` contains functions and
|
usable and should work. For instance, `CCList` contains functions and
|
||||||
lists including safe versions of `map` and `append`. It also
|
lists including safe versions of `map` and `append`. It also
|
||||||
provides a drop-in replacement to the standard library, in the module
|
provides a drop-in replacement to the standard library, in the module
|
||||||
`Containers` (intended to be opened, replaces some stdlib modules
|
`Containers` (intended to be opened, replaces some stdlib modules
|
||||||
with extended ones)
|
with extended ones).
|
||||||
- Several small additional libraries that complement it:
|
- Several small additional libraries that complement it:
|
||||||
|
|
||||||
* `containers.data` with additional data structures that don't have an
|
containers.data:: with additional data structures that don't have an
|
||||||
equivalent in the standard library;
|
equivalent in the standard library;
|
||||||
* `containers.io` (deprecated)
|
containers.io:: (deprecated)
|
||||||
* `containers.iter` with list-like and tree-like iterators;
|
containers.iter:: with list-like and tree-like iterators;
|
||||||
* `containers.string` (in directory `string`) with
|
containers.string:: (in directory `string`) with
|
||||||
a few packed modules that deal with strings (Levenshtein distance,
|
a few packed modules that deal with strings (Levenshtein distance,
|
||||||
KMP search algorithm, and a few naive utils). Again, modules are independent
|
KMP search algorithm, and a few naive utils). Again, modules are independent
|
||||||
and sometimes parametric on the string and char types (so they should
|
and sometimes parametric on the string and char types (so they should
|
||||||
|
|
@ -33,12 +33,6 @@ What is _containers_?
|
||||||
sub-processes)
|
sub-processes)
|
||||||
- A bigstring module using `bigarray` in `containers.bigarray`
|
- A bigstring module using `bigarray` in `containers.bigarray`
|
||||||
- A lightweight S-expression printer and streaming parser in `containers.sexp`
|
- A lightweight S-expression printer and streaming parser in `containers.sexp`
|
||||||
- A library using [Lwt](https://github.com/ocsigen/lwt/), `containers.lwt`.
|
|
||||||
Currently only contains experimental, unstable stuff.
|
|
||||||
- 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.
|
|
||||||
|
|
||||||
Some of the modules have been moved to their own repository (e.g. `sequence`,
|
Some of the modules have been moved to their own repository (e.g. `sequence`,
|
||||||
`gen`, `qcheck`) and are on opam for great fun and profit.
|
`gen`, `qcheck`) and are on opam for great fun and profit.
|
||||||
|
|
@ -49,7 +43,7 @@ toc::[]
|
||||||
|
|
||||||
== Change Log
|
== Change Log
|
||||||
|
|
||||||
See https://github.com/c-cube/ocaml-containers/blob/master/CHANGELOG.md[this file].
|
See link:CHANGELOG.md[this file].
|
||||||
|
|
||||||
== Finding help
|
== Finding help
|
||||||
|
|
||||||
|
|
@ -91,8 +85,9 @@ CC-SA3 http://en.wikipedia.org/wiki/File:Hypercube.svg[wikimedia].
|
||||||
|
|
||||||
== Contents
|
== Contents
|
||||||
|
|
||||||
The design is mostly centered around polymorphism rather than functors. Such
|
The library contains a <<core,Core part>> that mostly extends the stdlib
|
||||||
structures comprise (some modules in 'misc/', some other in 'core/'):
|
and adds a few very common structures (heap, vector), and sub-libraries
|
||||||
|
that deal with either more specific things, or require additional dependencies.
|
||||||
|
|
||||||
[[core]]
|
[[core]]
|
||||||
=== Core Modules (extension of the standard library)
|
=== Core Modules (extension of the standard library)
|
||||||
|
|
@ -220,7 +215,7 @@ The library has moved to https://github.com/c-cube/containers-misc .
|
||||||
|
|
||||||
== Build
|
== Build
|
||||||
|
|
||||||
You will need OCaml `>=` 4.01.0.
|
You will need OCaml `>=` 4.00.0.
|
||||||
|
|
||||||
=== Via opam
|
=== Via opam
|
||||||
|
|
||||||
|
|
@ -235,13 +230,13 @@ branch `stable` it is not necessary.
|
||||||
|
|
||||||
$ make
|
$ make
|
||||||
|
|
||||||
To build and run tests (requires `oUnit`, `qtest`, and `qcheck`):
|
To build and run tests (requires `oUnit` and https://github.com/vincent-hugot/iTeML[qtest]):
|
||||||
|
|
||||||
$ opam install oUnit qtest qcheck
|
$ opam install oUnit qtest
|
||||||
$ ./configure --enable-tests
|
$ ./configure --enable-tests --enable-unix --enable-bigarray
|
||||||
$ make test
|
$ make test
|
||||||
|
|
||||||
To build the small benchmarking suite (requires `benchmark`):
|
To build the small benchmarking suite (requires https://github.com/chris00/ocaml-benchmark[benchmark]):
|
||||||
|
|
||||||
$ opam install benchmark
|
$ opam install benchmark
|
||||||
$ make bench
|
$ make bench
|
||||||
|
|
@ -258,3 +253,4 @@ A few guidelines:
|
||||||
- add tests if possible (using `qtest`).
|
- add tests if possible (using `qtest`).
|
||||||
|
|
||||||
Powered by image:http://oasis.forge.ocamlcore.org/oasis-badge.png[alt="OASIS", style="border: none;", link="http://oasis.forge.ocamlcore.org/"]
|
Powered by image:http://oasis.forge.ocamlcore.org/oasis-badge.png[alt="OASIS", style="border: none;", link="http://oasis.forge.ocamlcore.org/"]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue