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
|