1. james woodyatt
  2. oni


===== Oni =====

Oni is an assortment of Objective Caml libraries of general interest and also
specifically for developing new Internet application layer protocols.

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.
- Extended socket interface (supports more options, and UDP w/multicast).
- I/O event multiplexing (with Unix.select).
- Functional XML stream parsing and generation
- Functional MIME stream parsing and generation

The distribution builds with OMake and includes the following subpackages:

  oni.cf    - Core foundation [included by default]
  oni.ucs   - Unicode character set
  oni.nx    - Extended socket interface
  oni.iom   - I/O event multiplexing
  oni.xml   - XML stream read/write utility
  oni.mime  - Multimedia Internet Messaging Extensions (MIME)
  oni.sasl  - Simple Authentication and Security layer (SASL)

See etc/INSTALL for information about prerequisites and composition.

--j h woodyatt <jhw@conjury.org>
  San Francisco, CA