See this file
This code is free, under the BSD license.
The logo (media/logo.png) is CC-SA3 wikimedia
The design is mostly centered around polymorphism rather than functors. Such structures comprise (some modules in misc/, some other in core/):
the core library, containers, now depends on cppo and base-bytes (provided by ocamlfind).
findlib name: containers
| CCArray |
Array utils
|
| CCBool |
Basic Bool functions
|
| CCChar |
Utils around char
|
| CCError |
Error Monad
|
| CCFloat |
Basic Float functions
|
| CCFun |
Basic Functions
|
| CCFormat |
Helpers for Format
|
| CCHash |
Hash combinators
|
| CCHashtbl |
Extension to the standard Hashtbl
|
| CCHeap |
Leftist Heaps following Okasaki
|
| CCInt |
Basic Int functions
|
| CCInt64 |
Int64
|
| CCIO |
IO Utils
|
| CCList |
complements to list
|
| CCMap |
Extensions of Standard Map
|
| CCOpt |
Options
|
| CCOrd |
Comparisons
|
| CCPair |
Tuple Functions
|
| CCPrint |
Printer Combinators
|
| CCRandom |
Random Generators
|
| CCRef |
References
|
| CCResult |
Error Monad
|
| CCSet |
Wrapper around Set
|
| CCString |
Basic String Utils
|
| CCVector |
Growable, mutable vector
|
| Containers |
Drop-In replacement to Stdlib
|
The module Containers contains aliases to most other modules defined
in containers core, and mixins
such as:
module List = struct
include List
include CCList
end
findlib name: containers.data
Various data structures.
| CCAllocCache |
Simple Cache for Allocations
|
| CCBitField |
Bit Field
|
| CCBloom |
Bloom Filter
|
| CCBV |
Imperative Bitvectors
|
| CCCache |
Caches
|
| CCDeque |
Imperative deque
|
| CCFQueue |
Functional queues
|
| CCFlatHashtbl |
Open-Addressing Hash-table
|
| CCGraph |
Simple Graph Interface
|
| CCHashSet |
Mutable Set
|
| CCHashTrie |
Hash Tries
|
| CCImmutArray |
Immutable Arrays
|
| CCIntMap |
Map specialized for Int keys
|
| CCMixmap |
Maps with Heterogeneous Values
|
| CCMixset |
Set of Heterogeneous Values
|
| CCMixtbl |
Hash Table with Heterogeneous Keys
|
| CCMultiMap |
Multimap
|
| CCMultiSet |
Multiset
|
| CCPersistentArray |
Persistent Arrays
|
| CCPersistentHashtbl |
Persistent hash-table on top of OCaml's hashtables
|
| CCRAL |
Random-Access Lists
|
| CCRingBuffer |
Circular Buffer (Deque)
|
| CCTrie |
Prefix Tree
|
| CCWBTree |
Weight-Balanced Tree
|
deprecated use CCIO directly from the set of core modules.
Helpers that depend on Unix, e.g. to spawn sub-processes.
| CCUnix |
High-level Functions on top of Unix
|
A small S-expression library. The interface is relatively unstable, but
the main type (CCSexp.t) isn't.
| CCSexp |
Handling S-expressions
|
| CCSexpM |
Simple and efficient S-expression parsing/printing
|
Iterators:
| CCKList |
Continuation List
|
| CCKTree |
Lazy Tree Structure
This structure can be used to represent trees and directed
graphs (as infinite trees) in a lazy fashion.
|
| CCLazy_list |
Lazy List
|
findlib name: containers.string
| CCApp_parse |
Applicative Parser Combinators
|
| CCKMP |
Knuth-Morris-Pratt
|
| CCLevenshtein |
Levenshtein distance
|
| CCParse |
Very Simple Parser Combinators
|
deprecated (use package bigstring instead) Use bigarrays to hold large strings and map files directly into memory.
| CCBigstring |
Interface to 1-dimension Bigarrays of bytes (char)
|
| CCArray1 |
Bigarrays of dimension 1
|
findlib name: containers.advanced
This module is qualified with Containers_advanced. It
requires Sequence.
| CCLinq |
LINQ-like operations on collections
|
| CCCat |
Categorical Constructs
|
| CCBatch |
Batch Operations on Collections
Define and combine operations on a collection of elements, then
run the composition of those operations on some collection.
|
Moved to its own repository.
Moved to its own repository
findlib name: containers.thread
Modules related to the use of Thread.
| CCBlockingQueue |
Blocking Queue
|
| CCLock |
Utils around Mutex
|
| CCPool |
Thread Pool, and Futures
|
| CCSemaphore |
Semaphores
|
| CCThread |
Threads
|
| CCTimer |
Event timer
|