1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
===== 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 International (TAI).
- Unicode transcoding.
- Universal resource identifier (URI) manipulation.
Additionally, the following noteworthy features are provided for compatibility
with earlier versions of this library. Further development of these features
is expected to move to a new, separate [Nx] library. These features are not
expected to improve in the [Cf] library for the version 0.x series, and they
will be removed in the 1.x series.
- Extended socket interface (supports more options, and UDP w/multicast).
- 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.10.0 or newer)
- Findlib (tested with v1.1.2p1)
Principal development was on Mac OS X 10.4 w/ XCode 2.4.1 using GCC 4.0. Other
platforms with POSIX-like environments should require 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@conjury.org>
San Francisco, CA
|