Sunday, 10 July 2011

James Woodyatt's Oni library (including lots of data structures)

James Woodyatt has published his Oni library of miscellaneous OCaml goodness that includes lots of interesting data structures.

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
- Functional XML stream parsing and generation - Functional MIME stream parsing and generation