===== OCaml NAE Core Foundation (cf) library =====

This distribution is the Objective Caml Network Application Environment (NAE)
Core Foundation library, which is a collection of miscellaneous extensions to
the Objective Caml standard library.

Highlighted features include:

- Functional streams and stream processors (extended).
- Functional bootstrapped skew-binomial heap.
- Functional red-black binary tree (associative array).
- Functional sets based on red-black binary tree.
- Functional real-time catenable deque.
- Functional LL(x) parsing using state-exception monad.
- Functional lazy deterministic finite automaton (DFA).
- Functional lexical analyzer (using lazy DFA and monadic parser).
- Functional substring list manipulation (message buffer chains).
- Gregorian calendar date manipulation.
- Standard time manipulation.
- System time in Temps Atomique Internationale (TAI).
- Unicode transcoding.
- Extended socket interface (supports more options, and UDP w/multicast).
- Universal resource identifier (URI) manipulation.
- I/O event multiplexing (with Unix.select).

Note: see the ISSUES file for a list of open problems in this release.

===== Required Components =====

This library requires the following external components:

- Objective Caml (v3.07+2 or newer)
- Findlib (tested with v0.8.1 and v1.0.4)

Principle development was on Mac OS X 10.3.  The final version of this
library also compiled successfully and passed all self-tests without warnings
on Suse Linux 9.0 for x86-32.  Other platforms with POSIX-like environments
should require only a minimal porting effort.

One major open issue: the extended socket interface is broken under WIN32.
(The author invites help porting the library to other environments.)

===== Building =====

No 'configure' script is provided.  Compile the library with:

    $ make default

Compile both bytecode and native versions with:

    $ make default opt

Execute tests for byte and native versions with:

    $ make test test.opt

Install the library with ocamlfind using:

    $ make install

Uninstall the library with ocamlfind using:

    $ make uninstall

Make the reference documentation with ocamldoc using:

    $ make doc


--j h woodyatt <jhw@wetware.com>
  San Francisco, CA
