Humpopaedia - centralize tips, opinion, use cases and general discussion about Ocaml libraries and tools registered in the Caml Hump, which serves as a catalog.
Note: The sections below are not meant to replace the multi-dimensional categorization on the Caml Hump but to collect items by their most popular usage.
For general Ocaml development
It is recommended to use Godi, the ports-like, source-based package management system for Ocaml.
Standard library extensions and replacements
- Sexplib: Type-safe serialization and deserialization with automatic generation of converters in S-expression format. A must.
- json-wheel and json-static: Similar, but uses JSON format.
Useful syntax extensions
- micmatch: Easy regular expression submatching
- open_in: Open modules locally
- Bitmatch: A syntax extension for pattern-matching and encoding binary data, such as network packets.
Regular expressions and lexing
- Cduce: Type-safe XML transduction language
- Xmlm: XML streaming input/output
- Ocamlnet: Complete network suite (including MIME parsers, HTTP client and servers, charset encoders/decoders)
The core Ocaml distribution does not include any library of numerical algorithms. However the following standard modules are relevant:
- The Complex module provides basic operation over complex numbers in rectangular representation.
- For arbitrary-precision arithmetic, there is the Num module
- The Bigarray module is useful for manipulating arrays with any number of dimensions in their native representation (as floats, doubles, signed or unsigned integers, shorts and bytes).
Comparisons of numerical packages