Module Batteries


module Batteries: sig .. end
The libraries provided as part of OCaml Batteries Included
Author(s): David Rajchenbach-Teller

module Standard: Extlib.ExtPervasives.Pervasives
The initially opened module.
module Legacy: sig .. end
Access to the modules provided by INRIA.

Control


module Exceptions: Extlib.ExtPrintexc.Printexc
Facilities for printing exceptions.
module Return: Extlib.Return
module Monad: Extlib.Monad
Definition of monads.

Concurrency


module Concurrency: Extlib.Concurrent
Definition of concurrency primitives.

Built-in threads

These modules are only defined in multi-threaded versions of OCaml Batteries Included. To use a multi-threaded version, please see the documentation.

module Condition: Batlib_Baselib_Condition
Condition variables to synchronize between threads.
module Event: Batlib_Baselib_Event
First-class synchronous communication.
module Mutex: Extlib_threads.ExtMutex.Mutex
Locks for mutual exclusion.
module RMutex: Extlib_threads.RMutex
Locks for mutual exclusion.
module Thread: Batlib_Baselib_Thread
Lightweight threads for Posix 1003.1c and Win32.
module Threads: sig .. end
All the definitions of built-in concurrency primitives.

Input/Output


module IO: Extlib.IO
High-order abstract I/O.
module Net_channels: Libs.ExtNetchannels.Netchannels

Compression / decompression


module Codec: Libs.Common.Compress
Common compression/decompression interfaces.
module GZip: Libs.GZip
GZip - compression/decompression interface.

Data containers


module Data: Extlib.Interfaces
Common signatures for data structures.

Mutable data containers


module Array: Extlib.ExtArray.Array
Array operations.
module Big_array: Extlib.ExtBigarray.Bigarray
Large, multi-dimensional, numerical arrays.
module Dllist: Extlib.Dllist
A mutable, imperative, circular, doubly linked list library
module Dyn_array: Extlib.DynArray
Dynamic arrays.
module Enum: Extlib.Enum
Enumeration over abstract collection of elements.
module Seq: Extlib.Seq
Sequence of elements
module Global: Extlib.Global
Mutable global variable.
module Hashtbl: Extlib.ExtHashtbl.Hashtbl
Operations over hashtables.
module Ref_list: Extlib.RefList
Reference on lists.
module Queue: Extlib.ExtQueue.Queue
First-in first-out queues.
module Ref: Extlib.Ref
Operations on references.
module Stack: Extlib.ExtStack.Stack
Last-in first-out stacks.
module Stream: Extlib.ExtStream.Stream
Streams and parsers.
module Vect: Extlib.Vect
Extensible vectors with constant-time append/prepend.

Persistent data containers


module Lazy: Batlib_Baselib_Lazy
Deferred computations.
module Lazy_list: Extlib.LazyList
Lazy lists of elements.
module List: Extlib.ExtList.List
List operations.
module Map: Extlib.ExtMap.Map
Association tables over ordered types.
module Multi_pmap: Extlib.MultiPMap
Polymorphic Multi-Map.
module Option: Extlib.Option
Functions for the option type.
module PMap: Extlib.PMap
Polymorphic Map.
module PSet: Extlib.PSet
Polymorphic sets of elements.
module Set: Extlib.ExtSet.Set
Sets over ordered types.

Data


module Unit: Extlib.ExtUnit.Unit
Operations on unit.

Logical data


module Bool: Extlib.ExtBool.Bool
Operations on booleans
module Bit_set: Extlib.BitSet
Efficient bit sets.

Numeric data


module Numeric: Extlib.Number
A common interface for numbers.
module Big_int: Extlib.ExtBig_int.Big_int
Operations on arbitrary-precision integers.
module Complex: Extlib.ExtComplex.Complex
Complex numbers.
module Float: Extlib.ExtFloat.Float
Operations on floating-point numbers.
module Int: Extlib.ExtInt.Int
Operations on integers.
module Int32: Extlib.ExtInt32.Int32
32-bit integers.
module Int64: Extlib.ExtInt64.Int64
64-bit integers.
module Native_int: Extlib.ExtNativeint.Native_int
Processor-native integers.
module Num: Extlib.ExtNum.Num
Operation on arbitrary-precision numbers.
module Safe_float: Extlib.ExtFloat.Safe_float
Operations on floating-point numbers, with exceptions raised in case of error.
module Safe_int: Extlib.ExtInt.Safe_int
Safe operations on integers.

Textual data


module Buffer: Extlib.ExtBuffer.Buffer
Extensible string buffers.
module Char: Extlib.ExtChar.Char
Operations on characters.
module UTF8: Extlib.ExtUTF8.UTF8
UTF-8 encoded Unicode strings.
module Rope: Extlib.Rope
Heavyweight strings ("ropes")
module UChar: Extlib.ExtUChar.UChar
Unicode (ISO-UCS) characters.
module String: Extlib.ExtString.String
String operations.
module Str: Extlib.ExtStr.Str
Regular expressions and high-level string processing
module Char_encodings: Extlib.CharEncodings

Tools included in the distribution



External tools


module Packages: Libs.ExtFindlib.Findlib
Finding information about installed packages and tools.
module Compilers: Libs.Compilers
Invoke the OCamlc compilers, documentation generator...

Language internals

Here be dragons.


module Callback: Batlib_Baselib_Callback
Registering Caml values with the C runtime.
module Gc: Extlib.ExtGc.Gc
Memory management control and statistics; finalised values.
module Marshal: Extlib.ExtMarshal.Marshal
Marshaling of data structures.
module Modules: Batlib_Baselib_CamlinternalMod
Internals on modules.
module Obj: Batlib_Baselib_Obj
Operations on internal representations of values.
module Oo: Extlib.ExtOo.Oo
Operations on objects
module Weak: Batlib_Baselib_Weak
Arrays of weak pointers and hash tables of weak pointers.
module Lexing: Extlib.ExtLexing.Lexing
The run-time library for lexers generated by ocamllex.
module Parsing: Batlib_Baselib_Parsing
The run-time library for parsers generated by ocamlyacc.
module Format: Extlib.ExtFormat.Format
Pretty printing.
module Printf: Extlib.ExtPrintf.Printf
Formatted output functions (also known as unparsing).
module Print: Extlib.Print
Formatted output functions (also known as unparsing).
module Value_printer: Extlib.Value_printer
Value printers
module Scanf: Extlib.ExtScanf.Scanf
Formatted input functions.
module SExpr: Libs.ExtSexp_Conv.Sexp_conv
Saving data to a human-readable format/reading data from a human-readable format.

Operations on the system


module Arg: Extlib.ExtArg.Arg
Parsing of command line arguments.
module File: Extlib.File
File manipulation.
module Opt_parse: Extlib.OptParse
Modules for GNU getopt(3)-style command line parsing.
module Path: Batlib_Baselib_Filename
Operations on file names.
module Shell: Extlib.ExtSys.Sys
module Unix: Extlib.ExtUnix.Unix
Low-level interface to the operating system (both Unix and Windows).

Unclassified


module Base64: Extlib.Base64
Base64 codec.
module Batteries_config: Batteries_config
This system's configuration.
module MD5: Extlib.ExtDigest.Digest
MD5 message digest.
module Random: Extlib.ExtRandom.Random
Pseudo-random number generators (PRNG).
module Date: Libs.ExtNetdate.Netdate
Support for dates, including parsing and formating.
module Future: sig .. end
Preview of future modules.